簡體   English   中英

使用正則表達式從字符串中刪除標點和空格

[英]Remove Punctuation and Spaces from string using Regex

我正在嘗試取出要使用Playfair密碼進行加密的字符串中的所有標點符號和空格。 我不知道為什么這條線不起作用。

s = Regex.Replace(s, @"[^\w\s]", string.Empty);

[^\\w\\s]表示刪除所有不是單詞或空格字符的內容。

嘗試以下方法:

s = Regex.Replace(s, @"[^\w]", string.Empty);

您還可以使用:

s = Regex.Replace(s, @"\W", string.Empty);

當然,下划線將被保留,因為它們被視為單詞字符。 要同時刪除這些內容,請嘗試以下操作:

s = Regex.Replace(s, @"[\W_]", string.Empty);

或這個:

s = Regex.Replace(s, @"\W|_", string.Empty);

如何使用Linq代替Regex?

string str = "abc; .d";
var newstr = String.Join("", str.Where(char.IsLetterOrDigit));

^字符表示不是。 我用[^A-Za-z0-9-]替換了所有非字母數字的連字符。

最好的選擇可能是使用[^A-Za-z]因為\\w包含_0-9 ,我猜您不想保留。

以下正則表達式將刪除azAZ任何內容。

s = Regex.Replace(s, @"[^A-Za-z]", string.Empty);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM