0

这应该很简单,但我正经历着这样的一天。谁能告诉我如何替换字符串中第一次和第三次出现的字符?我已经查看了替换,但由于字符串可能具有不同的长度,因此无法正常工作。我要做的就是替换第一次和第三次出现。

4

2 回答 2

5

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

您还可以使用StringBuilder进行替换。有StringBuilder一个Replace方法,您可以为其指定起始索引和受影响的字符数。

于 2012-04-17T15:59:46.703 回答
0

有抱负的程序员,

也许这样的东西可能对你有用(与 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

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

于 2012-04-17T16:39:13.650 回答