-3

如何根据字母字符数和/或数字数拆分字符串,使它们成为单独的字符串?

希望这是有道理的。谢谢你的帮助 (:

例如:用户输入:

  1. 亨利·史密斯 ID:123456

我想将用户输入排序为单独的字符串,结果为:

$name = 'Henry, Smith';
$ID = '123456';
4

1 回答 1

1

您可以使用正则表达式仅匹配数字和除数字之外的所有内容。

$number = preg_replace("/[^0-9]/", '', $str);
$name = preg_replace("/[0-9]/", '', $str);

请注意,对于name,这Henry, Smith ID:将从您的问题示例中返回。这只是取出数字......它不知道“ID:”不是人名的一部分。

插入符号 ( ^) 的解释:

在括号内,它意味着匹配不在括号内的所有内容。所以[^0-9]匹配除数字之外的所有内容。在此示例中,它将用空白(第二个参数)替换不是数字的所有内容。对于$name,我们做相反的事情。我们将所有 IS 数字替换为空白,以获取非数字字符。

有关正则表达式的更多信息,请参见此处

于 2012-06-30T23:24:29.887 回答