【问题标题】:PHP conditional string replacement str_replacePHP 条件字符串替换 str_replace
【发布时间】:2012-06-12 01:53:27
【问题描述】:

这是我试图用“-”替换单词之间的空格的字符串。

$mystring = "Color red, Color blue, Color black";
$newstring = str_replace(' ', '-', $mystring);

我想使用 str_replace 函数实现的是:

"Color-red, Color-blue, Color-black";

但是返回:

"Color-red,-Color-blue,-Color-black";

我想我需要一个条件来替换“不在逗号之后”或“在两个单词之间”的空格。 但我不知道。有什么建议吗?

【问题讨论】:

    标签: php regex string preg-replace str-replace


    【解决方案1】:

    (?<!,)\s

    这使用negative lookbehind 来匹配所有空格 (\s),后面没有,

    preg_replace("/(?<!,)\s/", '-', $mystring);
    

    Play with the regex here.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 2020-01-16
      • 2021-10-20
      • 2015-11-06
      相关资源
      最近更新 更多