【问题标题】:Split string at the first non-alphabetic character在第一个非字母字符处拆分字符串
【发布时间】:2012-07-25 22:18:37
【问题描述】:

如何获取从开头到第一个非字母字符的部分字符串?

示例字符串:

  • Hello World
  • Hello&World
  • Hello5World

我想要“你好”部分

【问题讨论】:

    标签: php string


    【解决方案1】:

    您需要使用 preg_split 功能。

    $str = 'Hello&World';
    $words = preg_split('/[^\w]/',$str);
    
    echo $words[0];
    

    您可以通过 $words[0] 访问 Hello,通过 $words[1] 访问 World

    【讨论】:

      【解决方案2】:

      您可以为此使用preg_match()

      if (preg_match('/^([\w]+)/i', $string, $match)) {
          echo "The matched word is {$match[1]}.";
      }
      

      如果您想要匹配5 或任何数字字符,请将[\w]+ 更改为[a-z]+

      【讨论】:

      • 子组、/i 标志和括号都可以安全删除。
      【解决方案3】:

      使用preg_split。用正则表达式分割字符串

      【讨论】:

        【解决方案4】:

        如果您只想要第一部分,请使用preg_match

        preg_match('/^[a-z]+/i', $str, $matches);
        
        echo $matches[0];
        

        Here's a demo.

        【讨论】:

          【解决方案5】:

          使用 preg_split 获取 alpha 的第一部分。
          $array = preg_split('/[^[:alpha:]]+/', 'Hello5World'); 回声 $array[0];

          【讨论】:

            猜你喜欢
            • 2022-09-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-03-10
            • 2022-01-15
            相关资源
            最近更新 更多