Update: в то время как следующее «работает» она только изменяет массив, который был возвращен из Lines
-свойства. Если вы измените этот массив, вы не измените текст TextBox. Поэтому вам нужно повторно назначить весь массив на Lines
-property, если вы хотите изменить текст (как показано ниже). Поэтому я сохраняю первую часть своего ответа только потому, что исправляет синтаксис, а не реальную проблему.
Это не
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" –