用于替换与完整数字相邻的破折号的正则表达式
Regular expression to replace dashes adjacent to complete numbers
我想编写一个正则表达式来替换前面或后面只有数字的字符串的所有破折号。
看这个例子,我突出显示了我想替换的破折号:
Scotland Primary School (4-
11) - (PPI)
holiday-castle@cwwdssaa.org 14-
19 Holiday & Clusters - (FR)
SF-
00014
www7902-az2388
793902-
SS2388
7902-
az2388
我要替换的破折号的格式是 -
在粗体中是相邻数字的字符串,表示应该对其进行格式化。如您所见,文本中的破折号不应设置格式,即电子邮件地址中的破折号,由空格包围或不与一组完整的数字相邻。
到目前为止我已经写完了,但不确定如何进一步:
(-\b\d+\b|\b\d+\b-)
您可以使用环视来检查两边的数字:
string input = "Scotland Primary School (4-11) - (PPI)";
string result = Regex.Replace(input, @"(?<=(^|\s)\d+)-|-(?=\d+(\s|$))", ",");
Console.WriteLine(result);
我在这里假设替换是逗号,因为我实际上没有在你的问题中看到任何关于替换应该是什么的内容。
我想编写一个正则表达式来替换前面或后面只有数字的字符串的所有破折号。
看这个例子,我突出显示了我想替换的破折号:
Scotland Primary School (4
-
11) - (PPI)holiday-castle@cwwdssaa.org 14
-
19 Holiday & Clusters - (FR)SF
-
00014www7902-az2388
793902
-
SS23887902
-
az2388
我要替换的破折号的格式是 -
在粗体中是相邻数字的字符串,表示应该对其进行格式化。如您所见,文本中的破折号不应设置格式,即电子邮件地址中的破折号,由空格包围或不与一组完整的数字相邻。
到目前为止我已经写完了,但不确定如何进一步:
(-\b\d+\b|\b\d+\b-)
您可以使用环视来检查两边的数字:
string input = "Scotland Primary School (4-11) - (PPI)";
string result = Regex.Replace(input, @"(?<=(^|\s)\d+)-|-(?=\d+(\s|$))", ",");
Console.WriteLine(result);
我在这里假设替换是逗号,因为我实际上没有在你的问题中看到任何关于替换应该是什么的内容。