查普:找到&使用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||";

查普:找到&使用Regex替换字符串中特定字符||之间的字符串匹配

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+(?='|'|)

查找||和只包含非字母数字字符(如&)的字符串之间的字母数字。

然后,在c#中:
public String ComputeReplacement(Match m) {
    return RandomNumberString();
}
resultString = Regex.Replace(subjectString, @"(?<='|'|)'w+(?='|'|)", new MatchEvaluator(ComputeReplacement));

请查找粘贴在

下面的正则表达式替换命令
string result = Regex.Replace(originalStringBefore, @"'|'|.*?'|'|","||ReplaceCharactors||");

如何写正则表达式通过这个网站,希望这对你有帮助

谢谢。