如何在Regex中用特殊符号替换特殊字符和空格

本文关键字:替换 特殊字符 空格 特殊符号 Regex | 更新日期: 2023-09-27 17:57:42

我正在开发windows phone 8应用程序。

我需要将特殊字符、空格和多个空格替换为-[短划线符号]

样本

没有替换字符串-汉普顿酒店&坦帕东区套房酒店(赌场区)

我需要这样-坦帕东部赌场区汉普顿套房酒店

我尝试过像这样的正则表达式

C#

 string passvalue = Regex.Replace(name, @"[ '&().,/]", "-");

以上代码输出

汉普顿酒店-坦帕东部套房-赌场区-

但我需要坦帕东部赌场区汉普顿套房酒店

我需要删除
1.(套房)Into(套房)

2.(-赌场区域)进入(-赌场区)

3.我不需要-最后(区域-)进入(区域)

感谢

如何在Regex中用特殊符号替换特殊字符和空格

首先在字符类[]后面添加一个+量词以删除多个出现。之后,对连字符执行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