更新:在下面的“作品”它确实只修改这是从Lines
-property返回的数组。如果您更改该数组,则不会更改文本框的文本。因此,如果要更改文本(如下所示),则需要将整个数组重新分配给Lines
属性。所以我保留我的答案的第一部分只是因为它修复了语法不是真正的问题。
这不是
RichTextBox1.Lines(i).Replace = "@sometext"
但
RichTextBox1.Lines(i) = "@sometext"
可以循环的Lines
前进,在这里不需要反向环路。
也许你想与"@sometext"
而不是全部更换"@"
:
RichTextBox1.Lines(i) = RichTextBox1.Lines(i).Replace("@","@sometext")
因此,这里的全部代码必要的(因为它似乎仍然是个问题):
Dim newLines As New List(Of String)
For i As Integer = 0 To RichTextBox1.Lines.Length - 1
newLines.Add(RichTextBox1.Lines(i).Replace("@", "@sometext"))
Next
RichTextBox1.Lines = newLines.ToArray()
但也许你甚至可以使用:
RichTextBox1.Text = RichTextBox1.Text.Replace("@","@sometext")`
因为如果我们有@ abcd这段代码将它更改为@ sometextabcd!我 想要一个代码来替换,例如1号线完全为@ sometext
请在首位的所有相关信息下一次:
Dim newLines As New List(Of String)
For Each line As String In RichTextBox1.Lines
Dim newLine = If(line.Contains("@"), "@sometext", line)
newLines.Add(newLine)
Next
RichTextBox1.Lines = newLines.ToArray()
显示错误和你想达到什么样的??? –
RichTextBox1.Lines(i).Replace =“@sometext” –