这应该很简单,但我正经历着这样的一天。谁能告诉我如何替换字符串中第一次和第三次出现的字符?我已经查看了替换,但由于字符串可能具有不同的长度,因此无法正常工作。我要做的就是替换第一次和第三次出现。
问问题
2634 次
2 回答
5
IndexOf方法有一个重载,它将起始位置作为参数。使用循环,您将能够找到第一次和第三次出现的位置。然后您可以使用Remove和Insert方法的组合来进行替换。
您还可以使用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 回答