我一直在尝试使用正则表达式删除除() - 和之外的任何标点符号的所有实例。从一个字符串,但发现很难让我的头。
这是我想出的那个,但它确实做了我需要做的一切。
有没有人有任何建议或帮助?任何人将不胜感激
Regex.Replace(address, @"(?<=[^A-Za-z0-9])(?!/s\*)", "");
答案 0 :(得分:7)
试试这个:
Regex.Replace(address, @"[\p{P}-[()\-.]]", "");
小解释:\ p {P}或\ p {标点符号}匹配任何类型的标点符号(see unicode categories)
答案 1 :(得分:2)
以下正则表达式可能符合您的需求:
Regex.Replace(address, @"[^\w\s\-\.\(\)]")
祝你好运。
答案 2 :(得分:0)
如何使用这样的char.IsPunctuation
方法:
var newString = new string(yourString.Where(x => !char.IsPunctuation(x) || x == '(' || x == ')' || x == '.'))