我有以下输入:
Hewlett Packard LaserJet 打印机配件
我需要以下输出:
LaserJet 打印机配件
基于 Hewlett Packard 被匹配。
我相信这是 Regex 的完美候选者(我可能是错的),不幸的是,我的经验有限,但一系列字符串拆分和连接似乎很冗长。
我尝试过的
return Regex.Replace(FullProductName, "\b" + ManufacturerName + "\b", string.Empty, RegexOptions.IgnoreCase);
我发现这不起作用,因为 \b 指的是单词边界,但这里我有一个短语。
注意:有时可能是 Sony 或其他单字制造商名称。
请您参考如下方法:
您可以使用以下正则表达式来匹配制造商名称 Hewlett Packard 或开头的任何其他单字制造商名称。用空字符串替换匹配的字符串将为您提供所需的输出。
正则表达式:
^(Hewlett Packard\s*|[A-Z][a-z]+\s*)
替换字符串:
Empty string
代码:
string str = @"Hewlett Packard LaserJet Printer Thingy
Sony LaserJet Printer Thingy";
string result = Regex.Replace(str, @"(?m)^(Hewlett Packard\s*|[A-Z][a-z]+\s*)", "");
Console.WriteLine(result);
Console.ReadLine();
