文字列内の部分文字列を置き換えることができますが、文字列を置き換えるための代替方法があるかどうかは疑問でした。 I.Eで、文字列"**"
のすべての一致と一致し、最初の発生を"<strong>"
に置き換え、次の発生を"</strong>"
(次にそのパターンを繰り返す)に置き換えます。部分文字列の代替置換
入力はこのようなものになるだろう:"This is a sentence with **multiple** strong tags which will be **strong** upon output"
、出力が返さは、次のようになります。
using System.Text.RegularExpressions;
class Program {
static void Main(string[] args) {
string toReplace = "This is a sentence with **multiple** strong tags which will be **strong** upon output";
int index = 0;
string replaced = Regex.Replace(toReplace, @"\*\*", (m) => {
index++;
if (index % 2 == 1) {
return "<strong>";
} else {
return "</strong>";
}
});
}
}
ループ内の開始インデックスで 'IndexOf'を使うことができます。 – CodesInChaos
@ CodeInChaos私はIndexOfを頻繁に使用していませんが、それを見ていますが、実装方法はありますか? – JakeJ