[英]Parse string with regex
我有一个字符串需要解析。 问题在于字符串的某些部分并不总是相同的。
a3:S8:[gmpage] S17:Head GM NecrocideS12:test [15158]
前18个字符始终是相同的,因此我可以轻松地将这些String.Substring()
取出。
我的问题是字符S12:
并非总是S12:
很容易是S26:
-因此我不能在其上使用简单的String.Replace()
。 我需要将这3个字符替换为:
我该如何使用正则表达式呢? 谢谢。
尝试这个:
string input = "a3:S8:[gmpage]S17:Head GM NecrocideS12:test [15158]";
string output = Regex.Replace(myString, "NecrocideS\d\d:", "Necrocide:");
怎么样:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.