Regex不替换冒号之前的任何内容
本文关键字:任何内 替换 Regex | 更新日期: 2023-09-27 18:01:39
我想去掉电子邮件主题行的're:'
:
我的字符串助手扩展做以下事情:
return Regex.Replace(value, "([re:][re :])", "",RegexOptions.IgnoreCase);
然而,它似乎在"re :"
上匹配,而在"re:".
上不匹配
这其中有什么原因吗?我该如何解决?
你的意思可能是:
Regex.Replace(value, "re:|re :", "", RegexOptions.IgnoreCase);
也可以写成:
Regex.Replace(value, "re ?:", "", RegexOptions.IgnoreCase);
这里可能有一个更好的表达:
Regex.Replace(value, "^'s*re's*:'s*", "", RegexOptions.IgnoreCase);
只匹配字符串的开头(^
),并删除后面的空格('s*
)。