如何在Ruby中的匹配模式后替换字符

时间:2018-08-14 11:26:23

标签: ruby replace

我的变量(多行字符串)内容如下所示

host = hostname ,
ip = 192.168.0.0.1 ,
username = user1 ,
password = mypwd ,
tag = test

在写入文件之前,我想屏蔽\替换密码。
请注意:我可能也获得如下变量的内容(单行)

host = hostname , ip = 192.168.0.1 , username = user1 , password = mypwd ,tag = test

实际上,我想在匹配“密码”之后替换8或10个字符 如何在Ruby中激活它? (我使用2.5.1) 另外,可变内容不是Json格式

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

str = "host = hostname , ip = 192.168.0.1 , username = user1 , password = mypwd , tag = test"
updated_str = str.gsub(/(?<=password\s=\s)[^,\s]*/, 'new_pass')

updated_str #=> "host = hostname , ip = 192.168.0.1 , username = user1 , password = new_pas , tag = test"