我可以使用逗号分隔字符串preg_split
,例如
$words = preg_split('/[,]/', $string);
如何使用点、空格和分号来分割字符串?
PS。我在 PHP preg_split 页面上找不到任何相关示例,这就是我要问的原因。
我可以使用逗号分隔字符串preg_split
,例如
$words = preg_split('/[,]/', $string);
如何使用点、空格和分号来分割字符串?
PS。我在 PHP preg_split 页面上找不到任何相关示例,这就是我要问的原因。
试试这个:
<?php
$string = "foo bar baz; boo, bat";
$words = preg_split('/[,.\s;]+/', $string);
var_dump($words);
// -> ["foo", "bar", "baz", "boo", "bat"]
模式解释
[]
是一个字符类,一个字符类由多个字符组成,并匹配到该类中的一个字符
.
匹配.
字符,这不需要在字符类中转义。虽然这需要在不在字符类中时进行转义,因为这.
意味着“匹配任何字符”。
\s
匹配空格
;
在分号上拆分,不需要转义,因为它没有特殊含义。
+
末尾的确保拆分字符后的空格不会显示为匹配项
这些示例在那里,可能不是字面上的,而是具有多个分隔符选项的拆分
$words = preg_split('/[ ;.,]/', $string);
像这样的东西?
<?php
$string = "blsdk.bldf,las;kbdl aksm,alskbdklasd";
$words = preg_split('/[,\ \.;]/', $string);
print_r( $words );
结果:
Array
(
[0] => blsdk
[1] => bldf
[2] => las
[3] => kbdl
[4] => aksm
[5] => alskbdklasd
)
$words = preg_split('/[\,\.\ ]/', $string);
只需将这些字符添加到您的表达式中
$words = preg_split('/[;,. ]/', $string);
编辑:感谢 Igoris Azanovas,不需要在字符类中转义点;)
$words = preg_split('/[,\.\s;]/', $string);