将字符串从小写转换为大写,并使用C#从字符串中删除特殊字符

kar*_*k k 2 c# uppercase

我正在开发一个带有用户ID的登录表单.我希望用户以指定的格式创建用户标识.我需要一个使用C#将所有小写字母转换为大写的方法.用户标识将位于以下fomat中.格式为:

xyz\t4z4567(字符不区分大小写)

规则:

1.创建用户名时只允许使用特殊字符\.2. UserID sholud被转换为大写.like(xyz - > XYZ)我需要检查用户在创建用户标识时是否输入任何特殊字符.如果UserID中存在任何特殊字符,则方法needshold删除特殊字符,并将所有小写字母转换为大写字母.

最后结果应该是以下方式:

xyz\t4z45 @ 67 ---> XYZ\T4Z4567

我使用以下方法检查字符串是否包含以下字符,如果是,我将替换为空.

public string RemoveSpecialChars(string str)
{
   string[] chars = new string[] { ",", ".", "/", "!", "@", "#", "$", "%", "^", "&", "*", "'", ";", "-", "_", "(", ")", ":", "|", "[", "]" };

    for (int i = 0; i < chars.Length; i++)
    {
        if (str.Contains(chars[i]))
        {
            str = str.Replace(chars[i], "");
        }
    }

    return str;
}
Run Code Online (Sandbox Code Playgroud)

Kam*_*yar 7

使用以下Regex替换:

outputStr = System.Text.RegularExpressions.Regex.Replace(inputStr, @"[^a-zA-Z0-9_\\]", "").ToUpperInvariant();  
Run Code Online (Sandbox Code Playgroud)

输入:inputStr=@"xya\t4z567"
输出:"XYA\T4Z567"