替换第n次出现的字符串

时间:2012-04-17 15:31:35

标签: vb.net

这应该相当简单,但我有其中一天。谁能告诉我如何替换字符串中第一次和第三次出现的字符?我已经看过替换,但是这不起作用,因为字符串可能有不同的长度。我想做的就是替换第一次和第三次。

2 个答案:

答案 0 :(得分:5)

IndexOf方法存在重载,它将起始位置作为参数。使用循环,您将能够找到第一次和第三次出现的位置。然后,您可以使用RemoveInsert方法的组合来进行替换。

您还可以使用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

某处可能有一次性错误......但这至少应该让你开始。