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()可能是一个更好的主意。

同意吗?你会怎么写正则表达式?

谢谢。

c# regex替换数字和单位

试试下面的代码:

(?<='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);