DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ワイルドカードで置換

環境/言語:[XP,VB2005,.NET2.0]
分類:[.NET]

Replaceを使って以下のように、
間に不定の文字列を含んだ置換を行うには
どうすればよろしいでしょうか?

Dim s1 As String = "〜1024,2048,4096〜"
~~~~
↑必ずしも2048とは決まっていない(不定)

s1.Replace("1024,*,4096", "1024,1111,4096")
~

ワイルドカードを使って、1111にしたい。

どなたかお教えください。
■No21692に返信(musumeさんの記事)

> Replaceを使って以下のように、
> 間に不定の文字列を含んだ置換を行うには
> どうすればよろしいでしょうか?
> 
> Dim s1 As String = "〜1024,2048,4096〜"
>                            ~~~~
>                            ↑必ずしも2048とは決まっていない(不定)
> 
> s1.Replace("1024,*,4096", "1024,1111,4096")
>                  ~
>                  ↑
>                  ワイルドカードを使って、1111にしたい。
> 
> どなたかお教えください。

両端の 1024, と ,4096 は決まっているんでしょうか。
自分なら String.Replace ではなくて Regex.Replace メソッドを使うと
思います。正規表現で。

正規表現用のRegex.Replaceですね。
気が付きませんでした。
ありがとうございます。

■No21694に返信(ぽぴ王子さんの記事)
> ■No21692に返信(musumeさんの記事)
>
>>Replaceを使って以下のように、
>>間に不定の文字列を含んだ置換を行うには
>>どうすればよろしいでしょうか?
>>
>>Dim s1 As String = "〜1024,2048,4096〜"
>> ~~~~
>> ↑必ずしも2048とは決まっていない(不定)
>>
>>s1.Replace("1024,*,4096", "1024,1111,4096")
>> ~
>> ↑
>> ワイルドカードを使って、1111にしたい。
>>
>>どなたかお教えください。
>
> 両端の 1024, と ,4096 は決まっているんでしょうか。
> 自分なら String.Replace ではなくて Regex.Replace メソッドを使うと
> 思います。正規表現で。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板