【问题标题】:Regular Expression to remove all numbers and all dots正则表达式删除所有数字和所有点
【发布时间】:2014-04-21 17:26:26
【问题描述】:
我在 VB.NET 中有这段代码:
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d", ""))
它删除/提取数字
我也想去掉点
所以我尝试了
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "\d\.", ""))
但它保留了数字。
如何从字符串中同时删除(数字和点)?
谢谢。
【问题讨论】:
标签:
regex
vb.net
numbers
extract
【解决方案1】:
尝试使用字符组:
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d\.]", ""))
我会详细说明,因为我无意中发布了与史蒂文基本相同的答案。
给定输入"Example 4.12.0.12"
-
"\d" 匹配数字,因此替换为 "Example ..."
-
"\d\." 匹配一个数字后跟一个点,因此替换为 "Example 112"
-
"[\d.]" 匹配任何数字或点。正如 Steven 所说,没有必要在字符组内转义点。
【解决方案2】:
您需要使用方括号创建一个字符组,如下所示:
MessageBox.Show(Regex.Replace("Example 4.12.0.12", "[\d.]", ""))
字符组意味着该组中列出的任何一个字符都被视为有效匹配。请注意,在字符组中,您不需要转义 . 字符。