c# regex替换数字和单位
本文关键字:单位 数字 替换 regex | 更新日期: 2023-09-27 18:17:07
有多个产品名称,尺寸为。
例如"X 300g", "X 400g ", "X 250kg ", "X 25kg"。
现在我想用"NumberUnit"替换"NumberUnit"的所有实例,即:"300g"到"300g","25kg"到"25kg"等
我知道我可以用循环和字符串替换很容易地做到这一点,但是有成千上万的产品,我担心这样做会花费很长时间。
相反,我想在每个产品名称上做一个Regex.Replace()可能是一个更好的主意。
同意吗?你会怎么写正则表达式?
谢谢。
试试下面的代码:
(?<='d)(?=[a-zA-Z])
前面的正则表达式将捕获数字和单位之间的位置,如果它们之间没有空格,则只捕获。你可以用空格替换这个位置,这样就可以了。
演示:https://regex101.com/r/yry7Sl/3
试试这个:
string pattern = @"(?<='d)(?=[a-zA-Z])";
string substitution = @" ";
string input = @"""X 300g"", ""X 400 g"", ""X 250 kg"", ""X 25kg""";
Regex regex = new Regex(pattern);
string result = regex.Replace(input, substitution);