正则表达式删除标点但忽略正斜杠?

时间:2017-06-14 14:25:55

标签: c# regex forward slash

所以我在C#中构建一个小解析器,用户可以在其中输入名称。现在这些名称可以是三种格式:

"name" OR "name / name" OR "name-name"

用户可能会编写一个带有不同标点符号的输入字符串,例如name?name.要删除这些,我会得到正则表达式,如下所示:

   var expression = "name / name";
   var regexPunctuation = new Regex(@"[^-\w\s]");
   expression = regexPunctuation.Replace(expression, string.Empty);

我的正则表达式适用于单个名称和名称,其中包含-但不具有正斜杠的名称。如果用户输入name / name,则结果仅为name name。如何更改正则表达式以使其忽略正斜杠,结果为name / name?记下name / name

之间的额外空格

3 个答案:

答案 0 :(得分:0)

应该是这样的:

new Regex(@"[^-/\w\s]")

答案 1 :(得分:0)

尝试转发/,如下所示:new Regex(@"[^-\/\w\s]")

答案 2 :(得分:0)

var regexPunctuation = new Regex(@"[^-\/\w\s]");