我在 VB.NET 中有这段代码:
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d", ""))
它删除/提取数字
我也想去除点
所以我尝试了
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d\.", ""))
但它保留了数字。
如何从字符串中删除两者(数字和点)?
谢谢。
尝试使用字符组:
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d.]", ""))
我会详细说明,因为我无意中发布了与史蒂文基本相同的答案。
鉴于输入
"Example 4.12.0.12"
"\d"
匹配数字,因此替换为 "Example ..."
"\d\."
匹配数字后跟一个点,因此替换为 "Example 112"
"[\d.]"
匹配任何数字或点。正如史蒂文所说,没有必要转义字符组内的点。您需要使用方括号创建一个字符组,如下所示:
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d.]", ""))
字符组意味着该组中列出的任何一个字符都被视为有效匹配。请注意,在字符组内,您不需要转义
.
字符。