簡體   English   中英

從字符串中獲取數字,該字符串還包括C#中的日期時間

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM