[英]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
,我猜您不想保留。
以下正則表達式將刪除az
或AZ
任何內容。
s = Regex.Replace(s, @"[^A-Za-z]", string.Empty);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.