这应该相当简单,但我有其中一天。谁能告诉我如何替换字符串中第一次和第三次出现的字符?我已经看过替换,但是这不起作用,因为字符串可能有不同的长度。我想做的就是替换第一次和第三次。
答案 0 :(得分:5)
IndexOf方法存在重载,它将起始位置作为参数。使用循环,您将能够找到第一次和第三次出现的位置。然后,您可以使用Remove和Insert方法的组合来进行替换。
您还可以使用StringBuilder进行替换。 StringBuilder
有一个Replace方法,您可以为其指定起始索引和受影响的字符数。
答案 1 :(得分:0)
aspiringCoder,
也许这样的事情对你有用(符合Meta-Knight所说的< + 1>)
Dim str As String = "this is a test this is a test this is a test"
Dim first As Integer
Dim third As Integer
Dim base As Integer = 0
Dim i As Integer
While str.length > 0
If i = 0 Then
first = str.IndexOf("test")
else if i = 2 Then
third = base + str.IndexOf("test")
end if
base = base + str.IndexOf("test")
str = str.Remove(0, str.IndexOf("test") + "test".length -1 )
i++
End While
某处可能有一次性错误......但这至少应该让你开始。