[英]Get numbers from a string with RegEx
我有一个看起来像这样的字符串:
"Lesson 2.3"
或这个:
"Lesson 12.5"
有什么办法可以从此字符串中获取 2.3
或12.5
或具有相同格式的任何其他数字? 我并不是想将其转换为双精度或浮点型,我只是想在其中包含数字的字符串部分,即“ 2.3”或“ 12.5”。
我已经尝试过使用RegEx,但是我的尝试只是返回第一个数字:
var number = Regex.Match(lessonTopicName, "\\\\d+").Value; // returns "2"
我对RegEx并不完全了解,所以我知道我做错了。 我想写一个方法,我可以只传入字符串,然后以字符串格式返回字符串中的数字。
\\d+
仅匹配数字。 您还需要匹配期间:
var number = Regex.Match(lessonTopicName, "\\d+\\.?\\d*").Value;
在这里,句号和随后的数字是可选的?
(0或1)和*
(0或更大)。 如果需要在句点后加上小数点,则该版本为:
var number = Regex.Match(lessonTopicName, "\\d+\\.\\d+").Value;
关于什么
var number = Regex.Match(lessonTopicName, "[0-9]+.[0-9]$").Value;
var number = Regex.Match(lessonTopicName, @"\d+.\d+").Value;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.