2015-02-09 237 views
1

的一部分,比方說,我有一個字符串s,我想「用"abcd" S」 S,但只在第50個字符全部更換"123"GSUB只有在字符串

我知道可以做

s[0,50] = s[0,50].gsub("123", "abcd") 

但是,有沒有辦法直接去做就s

回答

3

看屁股,將有助於在這種情況下

正則表達式可以是這樣的:

/(?<!.{50})123/ 
  • 負的外觀後面。確保123不受50字符

Regex Demo

使用

string.gsub(/(?<!.{50})123/, "abc") 

測試

print "1234567890123".gsub(/(?<!.{10})123/, "abc") # I was bit lazy that I      
                # checked only for 10 characters 
=> abc456789
之前