我正在使用 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 关注
- 111 浏览
添加回答
举报
0/150
提交
取消