【发布时间】:2018-08-05 19:10:41
【问题描述】:
我有这样的字符串:
$string1 = '35 Hose & Couplings/350902 GARDEN HOSE COUPLING, PVC, 16\/19 MM"';
$string2 = '35 Hose & Couplings/350904 GARDEN HOSE TAP CONNECTOR, PVC, 3\/4" FEMALE THREAD"';
我尝试将字符串分开并变成这样的数组:
$name1 = explode('/', $string1);
$name1 = trim(end($name1));
$name2 = explode('/', $string2);
$name2 = trim(end($name2));
/*
#results
$name1[0] = '35 Hose & Couplings';
$name1[1] = '350902 GARDEN HOSE COUPLING, PVC, 16\';
$name1[2] = '19 MM"';
...
#expected results
$name1[0] = '35 Hose & Couplings';
$name1[1] = '350902 GARDEN HOSE COUPLING, PVC, 16\/19 MM"';
...
*/
我想在只有/的时候爆炸字符串,但是当它遇到\/它不应该爆炸字符串,我的代码仍然爆炸如果字符串包含\/,有没有办法做到这一点?
【问题讨论】:
-
'我想在只有'/'的时候炸掉字符串,但是遇到'/'就不会炸掉字符串'--什么意思?
-
@IsThisJavascript 是的,这就是我想要的
-
你看过 preg_split (php.net/manual/de/function.preg-split.php)
-
我认为这是正则表达式的工作,不幸的是我的正则表达式技能很烂。也许您可以尝试在这里寻求进一步的帮助,直到有人可以提供更好的指导regexr.com
-
你要么首先“保护”异常“\\/”,方法是用一些“神奇”序列替换它,然后在替换剩余的“/”出现后将其转换回来,或者你使用常规带有前瞻的表达式。