0

これはかなり単純なはずですが、私はそれらの日の1つを持っています。文字列内の文字の最初と3番目の出現を置き換える方法について誰かが私にアドバイスできますか?私はreplaceを見てきましたが、文字列の長さが異なる可能性があるため、それは機能しません。私がやりたいのは、最初と3番目のオカレンスを置き換えることだけです。

4

2 に答える 2

5

開始位置をパラメーターとして受け取るIndexOfメソッドのオーバーロードがあります。ループを使用すると、1回目と3回目の発生の位置を見つけることができます。次に、 RemoveメソッドとInsertメソッドを組み合わせて使用​​して、置換を行うことができます。

StringBuilderを使用して置換を行うこともできます。にはStringBuilder、開始インデックスと影響を受ける文字数を指定できるReplaceメソッドがあります。

于 2012-04-17T15:59:46.703 に答える
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

どこかで1回限りのエラーが発生する可能性があります...しかし、これで少なくとも開始できるはずです。

于 2012-04-17T16:39:13.650 に答える