次の形式のサブ文字列を含むかなり長い文字列があります。
project[1]/someword[1]
project[1]/someotherword[1]
文字列には、このパターンのインスタンスが約 10 個ほどあります。
私がやりたいことは、角括弧内の 2 番目の整数を別の整数に置き換えることができるようにすることです。したがって、文字列はたとえば次のようになります。
project[1]/someword[2]
project[1]/someotherword[2]
ここで必要なのは正規表現だと思います。私は正規表現を思いついた:
project\[1\]/.*\[([0-9])\]
グループ [0-9] をキャプチャする必要があるため、別のものに置き換えることができます。MSDN Regex.Replace() を見ていますが、キャプチャされた文字列の一部を選択した値に置き換える方法がわかりません。これを達成する方法についてのアドバイスをいただければ幸いです。どうもありがとう。
*編集: * @Tharwen と協力した後、アプローチを少し変更しました。ここに私が取り組んでいる新しいコードがあります:
String yourString = String yourString = @"<element w:xpath=""/project[1]/someword[1]""/> <anothernode></anothernode> <another element w:xpath=""/project[1]/someotherword[1]""/>";
int yourNumber = 2;
string anotherString = string.Empty;
anotherString = Regex.Replace(yourString, @"(?<=project\[1\]/.*\[)\d(?=\]"")", yourNumber.ToString());