我正在使用 laravel php 并嘗試將字符串分解為數(shù)組。該字符串始終包含斜杠字符,但該字符可以出現(xiàn)多次:例子:輸入字符串:"abcd\\efg\\\\hij\klm\\\\\\\opq"預(yù)期的數(shù)組:[abcd, efg, hij, klm, opq]我嘗試使用str_replace函數(shù)替換'\'to '',但它給出了錯誤的結(jié)果,因為在分解字符串時我不會使用任何分隔符。我知道正則表達(dá)式可以做到這一點,但我不知道如何實現(xiàn)這一點。我希望有人能在這件事上幫助我。
1 回答

暮色呼如
TA貢獻(xiàn)1853條經(jīng)驗 獲得超9個贊
您可以preg_split與正則表達(dá)式/+(匹配一個或多個/字符)一起使用來分割可變長度的/字符子串:
<?php
$string = "abcd//efg////hij/klm//////opq";
var_dump(preg_split('`/+`', $string));
更新
自從OP將分割字符和字符串更改為反斜杠以來進(jìn)行了更新\。
與上面顯示的正斜杠類似,反斜杠也可以使用正則表達(dá)式進(jìn)行匹配\\\\+。您需要轉(zhuǎn)義字符串和正則表達(dá)式的反斜杠,因此\\\\+變?yōu)?string \\+,從而變?yōu)樵?regex \+:
<?php
$string = "abcd\\efg\\\\hij\klm\\\\\\\opq";
var_dump(preg_split('/\\\\+/', $string));
- 1 回答
- 0 關(guān)注
- 146 瀏覽
添加回答
舉報
0/150
提交
取消