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\\.]", "-");