- 締切済み
VB2008 テキストボックス内文字検索と置き換え
テキストボックスの先頭5文字目から2文字に特定の文字があるか探し出して、特定文字があるならその行の後ろに文字をコピーして置き換え。 検索文字があっても無くても空白行の次の行になったら同様の処理を行う。 こういう処理をするにはどのようにすればいいでしょうか? 例) 特定の文字:ef 置き換えする内容:ef→いーえふ <テキストボックスの内容> abcdefgh ijklmnop qrstuvwx yzABefEF GHYJKLMN OPQRefUV <検索して置き換えた後> abcdefgh いーえふ ijklmnop qrstuvwx yzABefEF GHIJKLMN OPQRefUV いーえふ どなたかご教授ください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- temtecomai2
- ベストアンサー率61% (656/1071)
これ、置換て言えるんでしょうか。。。 > 例) > 特定の文字:ef > 置き換えする内容:ef→いーえふ > <テキストボックスの内容> > abcdefgh > ijklmnop > > qrstuvwx > yzABefEF > GHYJKLMN > > OPQRefUV > > <検索して置き換えた後> > abcdefgh いーえふ > ijklmnop > > qrstuvwx > yzABefEF > GHIJKLMN > > OPQRefUV いーえふ 文字列が複数行格納されているテキストボックスがある。 各行の文字列の左端からカウントして 5文字目から 2文字分が検索対象の文字だった場合、オリジナルの文字列の後ろに半角のスペースと特定の文字を追加する。 検索対象が入っていない行はオリジナルのまま。 これらの処理結果を元のテキストボックスに上書きする。 ということでしょうか? で、言語は #1 さんの回答を受けて VB.NET てことで。 Dim textArray() As String textArray = TextBox1.Lines For i As Integer = 0 To textArray.Length - 1 If (textArray(i).Length >= 6) AndAlso (textArray(i).Substring(4, 2) = "ef") Then textArray(i) &= " いーえふ" End If Next TextBox1.Lines = textArray
- talosoft
- ベストアンサー率26% (6/23)
テキストボックスの内容をLinesコレクションで取得し、 SubString関数で指定位置の文字を取得してはどうですか?
補足
ありがとうございます。 返事が遅くなってすみません。 取得した文字を置き換えて、その行の後ろに連結するにはどうすればいいんでしょうか?