【发布时间】:2014-11-02 05:27:49
【问题描述】:
我有一个文本文件,一旦用户输入,我需要对其进行编辑。 我已经使用 foreach 命令和 split 将输入文件拆分为每行在 \n 处换行的行,然后我通过再次对每一行使用 split 将每行进一步分解为单词。 我的目标是用一个新词替换一个特定的词。 然后我应该用新的一行替换一个特定的行。 我该怎么做?
【问题讨论】:
-
请发布您的代码;指出你做了什么,什么没用。
-
您会想了解lsearch 和lreplace。 string map 也会帮助你。
-
你可以用 regsub 替换
-
简单地说:你构建了一个所有行的 new 列表(别担心;你复制了大部分原始行并且它很有效)然后你写下这些行输出到文件(如果需要)。如果您显示您的代码,一切都会更加清晰......
-
@FrobberOfBits,我从中获取输入的文本文件名为deck。我想用 i-v 替换 ivfrz。
foreach line [split $deck \n] { foreach word [split $line] { if {[lsearch -all $word ivfrz] >= 0} { string replace $word 0 4 i-v } } }