【发布时间】:2015-08-07 16:11:46
【问题描述】:
我需要将前 50 个 abc 替换为 bcd。我尝试了以下方法,但它不起作用。
set a "1 abc 2 abc 3 abc 4 abc......... 100 abc"
regsub -all "(.*?(abc).*)(50)" $a "bcd \1" b
puts $b
字符串中的数字用于演示目的。字符串可以是任意的:
set a "hh abc cc abc hh abc cc abc dd abc hh abc......... hh abc"
【问题讨论】:
-
@strib:不是重复的。那边的解决方案不太理想。让我们把这个问题悬而未决。
-
TCL regsub 不允许替换 n 次出现。只有 1 或
-ALL,这就是这里不能使用正则表达式的原因。