我正在尝试删除 PHP 中分隔单词的正斜杠,但不删除数字。
示例字符串:
"sf/berkeley to paso/slo/sb on 9/25"
我希望我的结果是:
"sf berkeley to paso slo sb on 9/25"
使用 "/([a-z]+)\\/(?=[a-z]+)/"
我能够得到:
“9 月 25 日从旧金山伯克利飞往帕索/斯洛/SB”
我的 PHP 代码:
$re = "/([a-z]+)\\/(?=[a-z]+)/";
$subst = "$1 ";
$result = preg_replace($re, $subst, $str, 1);
感谢任何帮助!
最佳答案
您需要使用断言。
preg_replace('~(?<=[a-z])/(?=[a-z])~i', ' ', $str);
更新:
你的代码可以工作,你只需要删除最后一个1
参数,这意味着只替换一次。
$re = "/([a-z]+)\\/(?=[a-z]+)/";
$subst = "$1 ";
$result = preg_replace($re, $subst, $str);
而且您也不需要在 [a-z]
之后添加 +
。
关于php - 正则表达式从 PHP 中的单词而不是数字中删除正斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400956/