将字符串拆分为文本和数字

use*_*823 4 php regex preg-match preg-split

我有一些字符串,可以采用以下格式

sometext moretext 01 text
text sometext moretext 002
text text 1 (somemoretext)
etc

我想将这些字符串拆分为以下内容:数字和数字之前的文本

例如:文本文本1(somemoretext)
当分割将输出:
text = text text
number = 1

号码后面的任何内容都可以丢弃

已经阅读了有关使用正则表达式的信息,并且可能使用了preg_match或preg_split,但在正则表达式部分时却丢失了

Jos*_*ber 14

preg_match('/[^\d]+/', $string, $textMatch);
preg_match('/\d+/', $string, $numMatch);

$text = $textMatch[0];
$num = $numMatch[0];
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用preg_match_all捕获组一次性完成所有操作:

preg_match_all('/^([^\d]+)(\d+)/', $string, $match);

$text = $match[1][0];
$num = $match[2][0];
Run Code Online (Sandbox Code Playgroud)

  • @ user1981823 - 一旦你知道如何做就很容易;) (3认同)