Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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#_Regex - Fatal编程技术网

C# 如何使用C将所有特殊字符替换为字符串#

C# 如何使用C将所有特殊字符替换为字符串#,c#,regex,C#,Regex,我想用逗号(,)替换字符串中的所有特殊字符 例如: Hello@Hello&Hello(Hello) 输出- Hello,Hello,Hello,Hello, (我不知道如何在C#中使用regexp) 我可以使用C#中的regexp来完成这项工作吗?您可以使用常规表达式来替换所有非字母数字字符,例如,使用逗号: s = Regex.Replace(s, "[^0-9A-Za-z]+", ","); 注意:集合后的+将使其用逗号替换每组非字母数字字符。如果要用逗号替换每个字符,只需删

我想用
逗号(,)
替换字符串中的所有特殊字符

例如:

Hello@Hello&Hello(Hello)
输出-

Hello,Hello,Hello,Hello,
(我不知道如何在C#中使用regexp)


我可以使用C#中的regexp来完成这项工作吗?

您可以使用常规表达式来替换所有非字母数字字符,例如,使用逗号:

s = Regex.Replace(s, "[^0-9A-Za-z]+", ",");

注意:集合后的
+
将使其用逗号替换每组非字母数字字符。如果要用逗号替换每个字符,只需删除
+

假设要替换非数字或字母的符号(以及@Guffa正确指向的字符):


您可以添加不应替换的其他符号。例如,如果您希望保留空白符号,则只需将
\s
添加到模式:
\[^\w\d\s]
是的,您可以在C中使用
正则表达式

:


此外,还可以使用
LINQ

var str = "Hello@Hello&Hello(Hello)";
var characters = str.Select(c => char.IsLetter(c) ? c : ',')).ToArray();             
var output = new string(characters);
Console.WriteLine(output);

定义“特殊角色”。你要替换什么样的特殊角色?用你认为特别的东西做一个班。一对一-查找
[特殊字符]
替换
多对一-查找
[特殊字符]+
替换
这是谷歌
正则表达式
或Visual studio帮助应用程序库的好日子。Microsoft对其所有语言使用相同的正则表达式引擎(JS除外,这是一个讨厌的语言)。
Convert.ToString(您的\u字符串)
eh?@tnw同意,当值不为null且您可以直接调用
您的\u字符串.ToString()
错误时,为什么要调用
Convert.ToString(您的\u字符串)
。例如,试着输入“Hello&ППППцццццц&Hi”
\w
不仅与字母匹配,还与
\u
@Guffa谢谢,注意事项。如果uu被视为特殊字符,那么
a-zA-Z
更合适为什么否决票?如果你不解释你认为什么是错误的,那就不能改进答案。我不明白为什么这个答案被否决了,因为另一个被否决的答案(也是被接受的答案)也说了同样的话。但我只能投票一次。如果我想允许连字符怎么办?这项工作将用s=Regex.替换(s,“[^0-9A-Za-z-]+”,“,”;
using System.Text.RegularExpressions;

string your_String = "Hello@Hello&Hello(Hello)";
string my_String =  Regex.Replace(your_String, @"[^0-9a-zA-Z]+", ",");
var str = "Hello@Hello&Hello(Hello)";
var characters = str.Select(c => char.IsLetter(c) ? c : ',')).ToArray();             
var output = new string(characters);
Console.WriteLine(output);