正则表达式:在数字后添加短划线( - )

时间:2011-09-07 00:11:36

标签: c# .net regex

我需要在字符串中添加一个破折号,如果这些数字后面有任何字符,我将如何使用正则表达式?

示例:

dpa3455ad = dpa3455-ad

4545fd = 4545-fd

2 个答案:

答案 0 :(得分:2)

使用此正则表达式:(假设您想在一组数字后的非数字出现的第一个点添加短划线)

(\d+)(\D.*)$

并替换为$1-$2

C#代码:

Regex re = new Regex(@"(\d+)(\D.*)$");
Console.WriteLine(re.Replace("dpa3455ad", "$1-$2"));

将给予 - dpa3455-ad

为了简单起见并在数字后面的非数字出现时插入-,请使用:

Regex re = new Regex(@"(\d)(\D)");
Console.WriteLine(re.Replace("dpa3455ad1s", "$1-$2"));

将给予 - dpa3455-ad1-s

答案 1 :(得分:0)

编辑:斜杠应该是.Net的美元。

替换:

([0-9])([^0-9])

使用:

$1-$2

搜索字符串会查找数字[0-9],后跟非数字[^0-9],并将每个数字记录为单个代币(...)。替换字符串在两个标记-$1之间放置一个连字符$2