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

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