Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从字符串c中删除所有特殊字符_C#_.net_String - Fatal编程技术网

C# 从字符串c中删除所有特殊字符

C# 从字符串c中删除所有特殊字符,c#,.net,string,C#,.net,String,我正在寻找解决方案一段时间,删除所有的特殊字符是取代- 目前我正在使用替换方法 例如,像这样从字符串中删除制表符 str.Replace("\t","-"); 特殊字符:!@$%^&*}{|::?>您可以使用方法来实现它 对于数字以外的模式,字母表可能类似于[^\w\d],其中\w表示任何单词字符,\d表示任何数字,^表示否定,[]表示字符组 请参阅以获取参考。使用正则表达式 下面的示例搜索所提到的字符并将其替换为- var pattern = new Regex("[:!@#$%^&

我正在寻找解决方案一段时间,删除所有的特殊字符是取代-

目前我正在使用替换方法

例如,像这样从字符串中删除制表符

str.Replace("\t","-");
特殊字符:!@$%^&*}{|::?>您可以使用方法来实现它

对于数字以外的模式,字母表可能类似于[^\w\d],其中\w表示任何单词字符,\d表示任何数字,^表示否定,[]表示字符组

请参阅以获取参考。

使用正则表达式

下面的示例搜索所提到的字符并将其替换为-

var pattern = new Regex("[:!@#$%^&*()}{|\":?><\[\]\\;'/.,~]");
pattern.Replace(myString, "-");

LINQ版本,如果字符串默认为UTF-8,则为:

var newChars = myString.Select(ch => 
                             ((ch >= 'a' && ch <= 'z') 
                                  || (ch >= 'A' && ch <= 'Z') 
                                  || (ch >= '0' && ch <= '9') 
                                  || ch == '-') ? ch : '-')
                       .ToArray();

return new string(newChars);

删除除字母、数字以外的所有内容,并替换为-

string mystring = "abcdef@_#124"
mystring = Regex.Replace(mystring, "[^\\w\\.]", "-");

至少你应该准确地定义什么是特殊字符。它是不可打印的还是其他什么?我正在寻找解决方案,但这不是一个询问堆栈溢出问题的好方法。那么,你的问题是什么?一旦你能定义特殊字符,剩下的就相当简单了——你可能会想用正则表达式来表示它,作为一种简单的表达w的方式您要替换的帽子。空间呢?(?)符号?重音字母?0-9以外的数字,例如来自不同文化的?@fali然后将其包含在组中。[^\w\d-]我认为我应该选择允许某些字母、数字和-输入的regix,而不允许其他所有输入。因此,可能有无限多的其他输入,因此无法将其列出
 $(function () {

    $("#Username").bind('paste', function () {
        setTimeout(function () {
            //get the value of the input text
            var data = $('#Username').val();
            //replace the special characters to ''
            var dataFull = data.replace(/[^\w\s]/gi, '');
            //set the new value of the input text without special characters
            $('#Username').val(dataFull);
        });

    });
});
string mystring = "abcdef@_#124"
mystring = Regex.Replace(mystring, "[^\\w\\.]", "-");