假设我有一个字符串s
,我想用"123"
替换所有"abcd"
,,但仅限前50个字符
我知道可以做到
s[0,50] = s[0,50].gsub("123", "abcd")
但有没有办法直接在s
?
答案 0 :(得分:3)
在这种情况下,看看后面会有所帮助
正则表达式可能如下所示:
/(?<!.{50})123/
123
前面没有50
个字符<强>用法强>
string.gsub(/(?<!.{50})123/, "abc")
<强>测试强>
print "1234567890123".gsub(/(?<!.{10})123/, "abc") # I was bit lazy that I
# checked only for 10 characters
=> abc4567890123