2012-04-17 32 views
0

これはかなりシンプルなはずですが、私はその日の1つを持っています。文字列内の文字の最初の出現と3番目の出現をどのように置き換えるかについて、誰にでもアドバイスできますか?私は置き換えを見てきましたが、文字列の長さが違うので動作しません。私がしたいのは、最初と3番目のオカレンスを置き換えることだけです。文字列のn番目の文字を置換する

+0

特定の文字の最初と3番目の出現?例えば、タブ文字のような文字ですか?これは答えか、これは文字列の1文字目と3文字目の文字だけです – aspiringCoder

答えて

4

開始位置をパラメータとするIndexOfメソッドのオーバーロードがあります。ループを使用すると、最初と3番目の発生位置を見つけることができます。次に、置換を行うには、RemoveInsertの組み合わせを使用できます。

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

0

aspiringCoder、

おそらく、このようなものは、それは一回限りの誤差がある場合があります

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話をしていたものをと一直線に)あなたに役に立つかもしれませんどこかで...しかし、これは少なくともあなたを始めなければなりません。

+0

これが改行文字の場合はどうなりますか? – aspiringCoder

+0

それは気にしないでください – aspiringCoder

+0

....このコードはまったく動作しないようですね?? – aspiringCoder

関連する問題