一個字符串我可以分割使用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