我有这个正则表达式过滤器:<+>|\P{L}
删除数字和HTML标记。
我的问题是空格也被删除了,我不希望删除空格。
例如,我需要将此文本“(0)发货”更改为此“发货”。现在它返回“ShipOut”。
我该如何解决?
答案 0 :(得分:3)
您可能正在寻找一种方法来匹配\P{L}
(任何不是Unicode字母的字符)并且仍然无法匹配空格。
在否定字符类\p{L}
中使用反向速记类[^\p{L}\s]
。
不知道<+>
是否适合您,您可能正在寻找<[^<]*>
。
所以,我的建议是
Regex.Replace(str, @"<[^<]*>|[^\p{L}\s]", string.Empty).Trim();
请参阅demo
Trim()
将摆脱前导和尾随空格。
答案 1 :(得分:0)