C#替换字符串中的所有其他字符,然后列入白名单字符

时间:2016-08-16 09:04:15

标签: c# c#-4.0

我的应用程序中有一个允许的字符列表。 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz。,'()?!#$%^ *;:+ = -_

我想要的是,如果我的字符串包含除上述字符之外的任何字符,则将替换为string.empty 我该怎么办

1 个答案:

答案 0 :(得分:2)

您可以使用正则表达式替换。试试这个:

public static string formatToken(string token)
    {
        //To prevent null exception
        if (string.IsNullOrWhiteSpace(token)) return token;

        Regex rgx = new Regex("[^a-zA-Z0-9 .,'()?!#$%*;:+=-_]"); //Maybe some characters need to be scaped. 
        return rgx.Replace(token, "");
    }