查普:找到&使用Regex替换字符串中特定字符||之间的字符串匹配
本文关键字:字符 字符串 找到 之间 串匹配 Regex 使用 替换 查普 | 更新日期: 2023-09-27 18:02:45
我有一个字符串:
string originalStringBefore = "http://www.abc.com?a=||ThisIsForRndNumber||&qq=hello&jj=||ThisIsForRndNumberAlso||";
我希望每个出现在||之间的字符串都被替换为一个随机数。
现在,随机数的生成很容易,但是我找不到写正则表达式的方法来使用模式搜索字符串并替换它。
我不想通过字符串操作函数来实现。
预期解决方案/结果:
string originalStringAfter = "http://www.abc.com?a=||254877787||&qq=hello&jj=||6594741454||";
string originalStringBefore = "http://www.abc.com?a=||ThisIsForRndNumber||&qq=hello&jj=||ThisIsForRndNumberAlso||";
Random r = new Random();
Regex rgx = new Regex(@"'|'|.*?'|'|");
Console.WriteLine(rgx.Replace(originalStringBefore, "||" + r.Next(int.MaxValue) + "||"));
看起来你想要这个正则表达式:
(?<='|'|)'w+(?='|'|)
查找||
和只包含非字母数字字符(如&
)的字符串之间的字母数字。
public String ComputeReplacement(Match m) {
return RandomNumberString();
}
resultString = Regex.Replace(subjectString, @"(?<='|'|)'w+(?='|'|)", new MatchEvaluator(ComputeReplacement));
请查找粘贴在
下面的正则表达式替换命令string result = Regex.Replace(originalStringBefore, @"'|'|.*?'|'|","||ReplaceCharactors||");
如何写正则表达式通过这个网站,希望这对你有帮助
谢谢。