【问题标题】:Replace the last comma in a string using Regular Expression使用正则表达式替换字符串中的最后一个逗号
【发布时间】:2011-10-06 00:55:04
【问题描述】:

我有一个类似的字符串:
"item 1, item 2, item 3".
我需要将其转换为:
"item 1, item 2 and item 3"

实际上,将最后一个逗号替换为“and”。谁能帮我解决这个问题?

【问题讨论】:

    标签: php regex preg-replace


    【解决方案1】:

    这个正则表达式找到最后一个逗号:(,)[^,]*$

    【讨论】:

      【解决方案2】:

      利用贪婪来实现这一目标:

      $text = preg_replace('/(.*),/','$1 and',$text)
      

      这将所有内容与最后一个逗号匹配,并通过自身替换它,不带逗号。

      【讨论】:

      • 你能解释一下 1 美元能做什么...我在等你的回答
      • 在正则表达式中,您可以将部分匹配字符串保存在所谓的反向引用中。您可以通过在表达式的一部分周围放置大括号来定义反向引用。您可以通过 $1 到 $9 或 \1 到 \9 来引用引用。所以 $1 是第一个反向引用的值,在这种情况下是 (.*)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-12
      相关资源
      最近更新 更多