VB.NET-它不断地替换自己
我在文本文件中有以下格式的行:VB.NET-它不断地替换自己,vb.net,loops,replace,infinite,Vb.net,Loops,Replace,Infinite,我在文本文件中有以下格式的行: word1|word2|word3 anotherword1|anotherword2 我正在尝试将该文件的每一行中的每个单词逐个拆分,一旦程序检测到richtextbox是否有这些单词中的一个,就会用未拆分的行替换该单词。示例:从word1到word1 | word2 | word3 以下是我到目前为止的情况: Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Butto
word1|word2|word3
anotherword1|anotherword2
我正在尝试将该文件的每一行中的每个单词逐个拆分,一旦程序检测到richtextbox是否有这些单词中的一个,就会用未拆分的行替换该单词。示例:从word1到word1 | word2 | word3
以下是我到目前为止的情况:
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
For Each line As String In File.ReadLines("C:\text.txt")
Dim input As String = line
Dim result As String() = line.Split(New String() {"|"}, StringSplitOptions.None)
For Each s As String In result
Try
Dim linex As String = line
RichTextBox1.Text = RichTextBox1.Text.Replace(s, " " & linex)
Catch exxx As Exception
End Try
Next
Next
End Sub
它工作得很好,但是在替换之后,被替换的文本仍然具有检测到的单词,并且它一直用word1 | word2 | word3替换自己。我只想做一次这个过程
如下所示:由于单词的存储格式,使用正则表达式将更容易实现您想要的:
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
这应该是你想要的
检查一下