猿问

正则表达式替换特殊字符

我的正则表达式需要帮助。

我需要删除文本开头的特殊字符

例如我有这样的文字

.just a $#text this should not be incl#uded

输出应该是这样的

just a text this should not be incl#uded

我已经在这里测试我的正则表达式,但是我无法使其正常工作

([\!-\/\;-\@]+)[\w\d]+

如何限制正则表达式仅检查以特殊字符开头的文本?


蝴蝶不菲
浏览 491回答 3
3回答

qq_花开花谢_0

用途\B[!-/;-@]+\s*\b:var result = Regex.Replace(s, @"\B[!-/;-@]+\s*\b", "");见正则表达式演示细节\B -单词边界以外的位置(必须在当前位置的左边紧跟字符串的开头或非单词char)[!-/;-@]+ -1个或多个ASCII标点符号\s* -0+空格字符\b -单词边界,当前位置的右边必须有字母/数字/下划线。如果您打算删除所有标点符号和符号,请使用var result = Regex.Replace(s, @"\B[\p{P}\p{S}]+\s*\b", "");参见另一个正则表达式演示。请注意,它\p{P}匹配任何标点符号并\p{S}匹配任何符号。

幕布斯7119047

使用前瞻:(^[.$#]+|(?<= )[.$#]+)将^[.$#]+用于特殊字符在一行的开始匹配。将(?<= )[.$#]+)用于在词是在句子的开始相匹配的特殊字符。[]根据需要在字符组中添加特殊字符。
随时随地看视频慕课网APP
我要回答