Regex只匹配数字,不匹配撇号
本文关键字:不匹配 数字 Regex | 更新日期: 2023-09-27 17:59:30
我只想匹配以下字符串中的数字
String : "40’000"
Match : "40000"
基本上字符串忽略撇号。
我正在使用C#,以备不时之需。不能使用任何C#方法,只需要使用Regex。
像这样替换它替换了所有字符不包括数字
string input = "40’000";
string result = Regex.Replace(input, @"[^'d]", "");
既然你说了我只想提取数字,没有regex怎么样?
var s = "40’000";
var result = new string(s.Where(char.IsDigit).ToArray());
Console.WriteLine(result); // 40000
我建议使用regex查找特殊字符而不是数字,然后用''
替换。
所以一个简单的(?='S)'D
就足够了,(?='S)
就是忽略数字末尾的空白。
演示
像这样替换它替换了所有字符交换编号和点
string input = "40’000";
string result = Regex.Replace(input, @"[^'d^.]", "");
不要让你的生活复杂化,使用Regex。替换
string s = "40'000";
string replaced = Regex.Replace(s, @"'D", "");