如何根据字母数字和/或数字分割字符串,使它们成为单独的字符串?
希望这是有道理的。谢谢你的帮助(:
例如: 用户输入:
我想将用户输入分类为单独的字符串,结果为:
$name = 'Henry, Smith';
$ID = '123456';
答案 0 :(得分:2)
您可以使用正则表达式仅匹配数字和除数字之外的所有内容。
$number = preg_replace("/[^0-9]/", '', $str);
$name = preg_replace("/[0-9]/", '', $str);
注意,对于name
,这将从您的问题示例中返回Henry, Smith ID:
。这只是取出数字......它不知道“ID:”不是一个人姓名的一部分。
插入符号的说明(^
):
括号内部表示匹配括号内的所有内容。所以[^0-9]
匹配除数字之外的所有内容。在这个例子中,它将用空白(第二个参数)替换不是数字的所有内容。对于$name
,我们正好相反。我们用空白替换所有带数字的数字,以获得非数字字符。
有关正则表达式的详细信息,请参阅here。