gpt4 book ai didi

c# - 正则表达式匹配整数

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:42 24 4
gpt4 key购买 nike

我有输入字符串:

"Monday 11:30am,11 v 2,3 v 4"

我需要更换:

  • 11 飓风
  • 2团队 abc
  • 3Vipers
  • 4Dodgers
  • 1Frozen Rope

等等....

但我不想在 11 中将 1 替换两次。

我显然不了解正则表达式。但我试过这样的事情:

string text = File.ReadAllText(CSVpath);
text = Regex.Replace(text,
string.Format(@"[{0} v]", CurrentCode),
string.Format(@"{0} v", TeamName));
text = Regex.Replace(text,
string.Format(@"[v {0}]", CurrentCode),
string.Format(@"v {0}", TeamName));

基于上面的输入字符串,输出将是:

"Monday 11:30am,Hurricanes v Team abc,Vipers v Dodgers"

最佳答案

试试这个正则表达式:

var subject = "Monday 11:30am,11 v 2,3 v 4,5 v 6";
var replaced = Regex.Replace(subject,@"(\d+)\s*v\s*(\d+)","Team$1 with Team$2");

模式分解:

  • (\d+) 捕获数字序列并将其保存在 group1 中
  • \s*v\s* 通过两侧零个或多个空格检查 v 字符包装器。
  • (\d+) 捕获数字序列并将其保存在 group2 中

替换:

$1 用 Team 和第一组的匹配替换第一组。因此 11 将替换为 Team11,然后将文字 withTeam 文字与 $2 相加,附加 group2 的匹配项。

这里是 Regex101 demo

关于c# - 正则表达式匹配整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23856295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com