如何在Regex中用特殊符号替换特殊字符和空格
本文关键字:替换 特殊字符 空格 特殊符号 Regex | 更新日期: 2023-09-27 17:57:42
我正在开发windows phone 8应用程序。
我需要将特殊字符、空格和多个空格替换为-[短划线符号]
样本
没有替换字符串-汉普顿酒店&坦帕东区套房酒店(赌场区)
我需要这样-坦帕东部赌场区汉普顿套房酒店
我尝试过像这样的正则表达式
C#
string passvalue = Regex.Replace(name, @"[ '&().,/]", "-");
以上代码输出
汉普顿酒店-坦帕东部套房-赌场区-
但我需要坦帕东部赌场区汉普顿套房酒店
我需要删除
1.(套房)Into(套房)
2.(-赌场区域)进入(-赌场区)
3.我不需要-最后(区域-)进入(区域)
感谢
首先在字符类[]
后面添加一个+
量词以删除多个出现。之后,对连字符执行Trim
以删除前导或尾随。
string passvalue = Regex.Replace(name, @"[ '&().,/]+", "-").Trim('-');
^ added
但是,我建议在您的情况下使用regex [^a-zA-Z]+
:
string passvalue = Regex.Replace(name, @"[^a-zA-Z]+", "-").Trim('-');
您可以使用以下正则表达式:
'([^'w]+)'
并替换为:
'-'
演示:http://regex101.com/r/wU9bB4