我尝试过滤掉特殊字符,但希望保留tab
和comma
以及其他一些字符。我需要知道如何在我的正则表达式中添加逗号和制表符,以便它们不会从字符串中删除。我一说,就会收到错误。
namespace StringSearch {
using System.Text.RegularExpressions;
class TestRegularExpressionValidation {
static void Main() {
string[] numbers = {"123_555-0190", "444-234-22450", "690-555-0178",
"146-893-232", "146-555-0122", "4007-555,-0111",
"407-55-0111", "a1b-Cd-EfgH", "a1b-Cd-Efgn",
"UM2345678",
"11/12/2013 4:10:06 PM UM2345678 UM2345678",
"407-2-5555"};
foreach (string s in numbers) {
string a = RemoveSpecialCharacters(s);
Console.WriteLine(a);
}
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
public static string RemoveSpecialCharacters(string str) {
return Regex.Replace(str, "[^a-zA-Z0-9_.-]+", "", RegexOptions.Compiled);
}
}
答案 0 :(得分:1)
-
应位于字符类的末尾或开头,即[]
你的正则表达式是
[^\\w.,\t-]+
\w
与[a-zA-Z0-9_]
答案 1 :(得分:1)