VB.NET - 它不断替换自己

时间:2016-03-05 11:35:22

标签: vb.net loops replace infinite

我有一个这种格式的文本文件行:

iterateItems

我正在尝试每个文件的每一行逐个拆分每个单词,并且一旦程序检测到richtextbox中是否有其中一个单词将用unsplitted行替换该单词。示例:从word1到word1 | word2 | word3

这是我到目前为止所做的:

word1|word2|word3
anotherword1|anotherword2

它工作得很好,但在替换之后,被替换的文本仍然有检测到的单词,它会一直用word1 | word2 | word3替换自己。我只想做一次这个过程。

像这样:Click to see

1 个答案:

答案 0 :(得分:2)

由于存储了单词的格式,使用正则表达式可以更轻松地实现您想要的内容:

Dim lines = File.ReadLines("C:\text.txt")
For Each line As String In lines
    Dim pat = String.Format("\b({0})\b", line)
    RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, pat, line)
Next

这应该可以做你想要的。

检查here