[英]Get number from a string which also includes datetime in C#
我有這個字符串:
ÜmraniyeTapuMüdürlüğündeveÜmraniyeBelediyesiİmarMüdürlüğünde20.08.2014 onay tarih ve 254sayılımimari projesiincelenmiştir。
我正在獲取日期時間:
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
單詞邊界 \\d+(?:/\\d+)?
-1+位數字(可選)后跟/
和1+ \\b
尾部單詞邊界 (?!\\.\\d)
-如果點后面有數字,則匹配失敗。 C#演示 :
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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.