我有一个我需要解析的字符串。问题是字符串的某些部分并不总是相同。
a3:S8:[gmpage] S17:主管GM NecrocideS12:测试[15158]
前18个字符总是相同的,所以我可以轻松地String.Substring()
出来。
我的问题是,S12:
字符并不总是S12:
,它可能很容易S26:
- 所以我不能在其上使用简单的String.Replace()
。我需要将这3个字符替换为:
我怎样才能使用正则表达式?谢谢。
答案 0 :(得分:3)
试试这个:
string input = "a3:S8:[gmpage]S17:Head GM NecrocideS12:test [15158]";
string output = Regex.Replace(myString, "NecrocideS\d\d:", "Necrocide:");
答案 1 :(得分:0)
怎么样:
Regex reg = new Regex(@"\A(?<before>a3:S8:\[gmpage\])(?<delete>.{3})(?<after>:Head GM NecrocideS12:test \[15158\])\Z");
string input = @"a3:S8:[gmpage]S26:Head GM NecrocideS12:test [15158]";
string output = reg.Replace(input, "${before}${after}");
这将用“”替换S26