一个字符串我可以分割使用preg_split
逗号一个字符串,如劈裂在PHP
$words = preg_split('/[,]/', $string);
如何使用一个点,一个空格和分号与任何这些分割字符串?
PS。我在PHP preg_split页面找不到任何相关示例,这就是为什么我问。
一个字符串我可以分割使用preg_split
逗号一个字符串,如劈裂在PHP
$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
.
匹配.
字符,这个不需要转义里面的字符类。虽然不在角色等级中时需要逃脱,但.
表示“匹配任何角色”。
\s
比赛的空白
;
拆就分号,这需要不进行转义,因为它并没有特殊的含义。
的+
末确保拆分后的字符空格不显示为
$words = preg_split('/[\,\.\ ]/', $string);
只是这些字符添加到您的表达
$words = preg_split('/[;,. ]/', $string);
编辑:感谢Igoris Azanovas,不需要在字符类逃逸点;)
无需逃避匹配。在括号内 –
的例子在那里,不字面上也许,但分割有多个选项分隔符
$words = preg_split('/[ ;.,]/', $string);
$words = preg_split('/[,\.\s;]/', $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
)
但是,如果没有**点(。),分号(;),空格或逗号(,)**,那么应该如何处理。 –
用您的具体问题打开另一个问题。这个问题特别提到了点,分号,空格或逗号。 – ariefbayu
感谢您的所有解释:) – Roman
@chh:点('.')只是一个字符类中的一个点,不需要转义。 –
噢,谢谢。我想,逃避正则表达式特殊字符是一种习惯:-) – chh