我想用comma (,)
替換字符串中的所有特殊字符。如何使用C#將所有特殊字符替換爲字符串
例如:
[email protected]&Hello(Hello)
輸出 -
Hello,Hello,Hello,Hello,
(我不知道如何在C#中使用正則表達式)
我能做到在C#中使用正則表達式這一工作?
我想用comma (,)
替換字符串中的所有特殊字符。如何使用C#將所有特殊字符替換爲字符串
例如:
[email protected]&Hello(Hello)
輸出 -
Hello,Hello,Hello,Hello,
(我不知道如何在C#中使用正則表達式)
我能做到在C#中使用正則表達式這一工作?
是的,你可以在C#中使用regular expressions
。
Using regular expressions with C#
:
using System.Text.RegularExpressions;
string your_String = "[email protected]&Hello(Hello)";
string my_String = Regex.Replace(your_String, @"[^0-9a-zA-Z]+", ",");
'Convert.ToString(your_String)'eh? – tnw
是的,沒有必要使用「轉換」。謝謝@tnw –
@tnw同意,爲什麼在value不爲null時調用'Convert.ToString(your_string)',你可以直接爲'System.Text.RegularExpressions'調用'your_string.ToString()' –
您可以使用正規表示法,以例如用逗號替換所有非字母數字字符:
s = Regex.Replace(s, "[^0-9A-Za-z]+", ",");
注:+
後的設定將使它取代各組的非字母數字字符用逗號。如果要用逗號替換每個字符,只需刪除+
即可。
爲什麼downvote?如果你不解釋你認爲什麼是錯的,它不能改善答案。 – Guffa
我不明白爲什麼答案是downvoted,因爲其他upvoted(也是公認的)答案說同樣的事情。但我只能一次答覆一個答案。 –
如果我想允許連字符,該怎麼辦?這將工作 s = Regex.Replace(s,「[^ 0-9A-Za-z-] +」,「,」); –
假設要更換哪些不是數字或字母(和_字符作爲@Guffa正確地指出)符號:
string input = "[email protected]&Hello(Hello)";
string result = Regex.Replace(input, @"[^\w\d]", ",");
// Hello,Hello,Hello,Hello,
您可以添加不應該被替換另一個符號。例如。如果你想空白符號留下來,然後只需添加\s
以圖案:\[^\w\d\s]
'\ w'不僅僅匹配字母,它也匹配'_'。 – Guffa
@Guffa謝謝,好貼。如果_被認爲是特殊字符,那麼'a-zA-Z'更合適 –
而且,它可以與LINQ
var str = "[email protected]&Hello(Hello)";
var characters = str.Select(c =>
{
if (!char.IsLetter(c)) return ',';
return c;
}).ToArray();
var output = new string(characters);
Console.WriteLine(output);
進行界定 「特殊」 – David
定義 '特殊字符'。 –
什麼是您需要替換的特殊字符集? – Steve