gpt4 book ai didi

没有正则表达式反向引用的 Ruby 字符串子

转载 作者:数据小太阳 更新时间:2023-10-29 06:53:32 25 4
gpt4 key购买 nike

我正在尝试用 Ruby 做一个简单的字符串子。

sub() 的第二个参数是一长段精简的 JavaScript,其中包含正则表达式。此字符串中正则表达式中的反向引用似乎影响了 sub 的结果,因为被替换的字符串(即第一个参数)出现在输出字符串中。

例子:

input = "string <!--tooreplace--> is here"
output = input.sub("<!--tooreplace-->", "\&")

我希望输出为:

"string \& is here"

不是:

"string & is here"

或者如果转义正则表达式

"string <!--tooreplace--> is here"

基本上,我想要一些方法来做一个完全没有正则表达式结果的字符串子 - 只是一个简单的字符串替换。

最佳答案

为了避免弄清楚如何转义替换字符串,请使用 Regex.escape .当替换很复杂,或者处理它是一种不必要的痛苦时,它很方便。 String 上的小 helper 也不错。

input.sub("<!--toreplace-->", Regexp.escape('\&'))

关于没有正则表达式反向引用的 Ruby 字符串子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8136459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com