我需要在字符串中添加一个破折号,如果这些数字后面有任何字符,我将如何使用正则表达式?
示例:
dpa3455ad = dpa3455-ad
4545fd = 4545-fd
答案 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
。