gpt4 book ai didi

ruby - Gsub 导致部分字符串被替换

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

我想用反斜杠单引号 (\') 替换所有出现的单引号 (')。我尝试使用 gsub 执行此操作,但我得到了部分字符串重复:

a = "abc 'def' ghi"
a.gsub("'", "\\'")
# => "abc def' ghidef ghi ghi"

谁能解释为什么会发生这种情况以及解决方案是什么?

最佳答案

因为"\\'"作为gsub的替换参数出现时有特殊含义,即表示匹配后子串。

做你想做的,你可以使用一个 block :

a.gsub("'"){"\\'"}
# => "abc \\'def\\' ghi"

请注意,反斜杠在字符串检查中被转义,因此它显示为 \\

关于ruby - Gsub 导致部分字符串被替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34937549/

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