我对正则表达式很不在行,但我想把所有这些.,;:'"$#@!?/\*&^-+从字符串中删除。
.,;:'"$#@!?/\*&^-+
string x = "This is a test string, with lots of: punctuations; in it?!.";
我该怎么做?
pdtvr36n1#
首先,请read here了解正则表达式的相关信息,值得学习。您可以使用以下命令:
Regex.Replace("This is a test string, with lots of: punctuations; in it?!.", @"[^\w\s]", "");
这意味着:
[ #Character block start. ^ #Not these characters (letters, numbers). \w #Word characters. \s #Space characters. ] #Character block end.
最后它读到“用nothing替换任何不是单词字符或空格字符的字符。”
axzmvihb2#
这段代码展示了完整的RegEx替换过程,并给出了一个示例Regex,它只在字符串中保留字母、数字和空格-用空字符串替换所有其他字符:
//Regex to remove all non-alphanumeric characters System.Text.RegularExpressions.Regex TitleRegex = new System.Text.RegularExpressions.Regex("[^a-z0-9 ]+", System.Text.RegularExpressions.RegexOptions.IgnoreCase); string ParsedString = TitleRegex.Replace(stringToParse, String.Empty); return ParsedString;
我还将代码存储在这里以备将来用途:http://code.justingengo.com/post/Use%20a%20Regular%20Expression%20to%20Remove%20all%20Punctuation%20from%20a%20String真诚的S. Justin Gengohttp://www.justingengo.com
0kjbasz63#
这可能会做你想要的:
Regex.Replace("This is a string...", @"\p{P}", "");
参见Regex: Match any punctuation character except . and _https://www.regular-expressions.info/posixbrackets.html
3条答案
按热度按时间pdtvr36n1#
首先,请read here了解正则表达式的相关信息,值得学习。
您可以使用以下命令:
这意味着:
最后它读到“用nothing替换任何不是单词字符或空格字符的字符。”
axzmvihb2#
这段代码展示了完整的RegEx替换过程,并给出了一个示例Regex,它只在字符串中保留字母、数字和空格-用空字符串替换所有其他字符:
我还将代码存储在这里以备将来用途:http://code.justingengo.com/post/Use%20a%20Regular%20Expression%20to%20Remove%20all%20Punctuation%20from%20a%20String
真诚的
S. Justin Gengo
http://www.justingengo.com
0kjbasz63#
这可能会做你想要的:
参见Regex: Match any punctuation character except . and _
https://www.regular-expressions.info/posixbrackets.html