从字符串中获取数字,其中也包括c#中的datetime
本文关键字:包括 中的 datetime 字符串 获取 数字 | 更新日期: 2023-09-27 18:03:00
我有这个字符串:
Ümraniye Tapu Müdürlüğünde ve Ümraniye Belediyesi İmar Müdürlüğünde20.08.2014 onay tarih ve 254 sayılı mimari projesi incelenmiuretir .
我得到datetime:像这样:
t = DateTime.Parse(Regex.Match(mimaristring, @"'d('d+)[-.'/]('d+)[-.'/]('d+)").Value);
我试着得到254这样:
num = Regex.Match(mimaristring, @"'d+").Value;
但是我得到的不是254,而是20。我怎样才能跳过日期时间而得到254?
注意:有时,我有123/456
这样的数字,而不仅仅是254
,我也需要得到它们。
要获得不在点+数字内的整数,您需要使用遍历:
@"(?<!'d'.)'b'd+(?:/'d+)?'b(?!'.'d)"
查看这个正则表达式演示
模式解释:
-
(?<!'d'.)
-如果当前位置前有digit
+.
,则不匹配 -
'b
- a字边界 -
'd+(?:/'d+)?
- 1+位可选后跟/
和1+位 -
'b
-尾字边界 -
(?!'.'d)
-如果有一个点后跟一个数字,则匹配失败。
var s = "Ümraniye Tapu Müdürlüğünde ve Ümraniye Belediyesi İmar Müdürlüğünde 20.08.2014 onay tarih ve 254 sayılı mimari projesi incelenmiştir.";
var pat = @"(?<!'d'.)'b'd+(?:/'d+)?'b(?!'.'d)";
Console.WriteLine(Regex.Match(s, pat).Value);