在我的应用程序中,我需要能够找到所有数字子字符串,然后扫描每个子字符串,找到与某个范围(例如 5 到 15 之间)匹配的第一个子字符串,然后用另一个字符串“X”替换那个实例。
我的测试字符串s = "1 foo 100 bar 10 gee 1"
我的初始模式是 1 个或多个数字的任何字符串,例如,re = Regexp.new(/\d+/)
matches = s.scan(re)
给["1", "100", "10", "1"]
如果我想用“X”替换第 N 个匹配项,并且只有第 N 个匹配项,我该怎么办?
例如,如果我想替换第三个匹配“10”(matches[2]),我不能只说
s[matches[2]] = "X"
,因为这会替换两个
"1 foo X0 bar X gee 1"
任何帮助,将不胜感激!