簡體   English   中英

使用正則表達式從字符串中獲取子字符串

[英]Get substring from string with a regex

如何從這種格式的字符串中獲取我的四個數字:

一些文字與1條(10/100)某些其他文本......從-10℃50℃

一些其它文本2號(10/100)某些其他文本......從-11℃-2℃

一些其它文本-30號(1001分之100)某些其他文本...從2℃12℃

前兩個數字在括號中,並用斜線分隔。 此外,斜杠后面沒有空格,我不得不添加它以便能夠使數字變為粗體。 這兩個數字都是正整數。

第三個數字總是在“From”和第一個“°C”之間。

第四個數字始終位於“°C to”之后,最后一個“°C”。

字符串中沒有其他括號,其中只有一個“From”字樣。

我正在使用C#和.NET 3.5。

這將有效:

^.*\( *(\d+) */ *(\d+) *\)\D*?From +(-?\d+)°C +to +(-?\d+)°C$

它只讀取文本字符串中的4個數字(前兩個始終為正數,后兩個為正數或負數) - 它查找前兩個數字的括號,並檢查最后兩個數字與“From”和“to”的關系“

var pattern = @"^.*\( *(\d+) */ *(\d+) *\)\D*?From +(-?\d+)°C +to +(-?\d+)°C$";

var result = Regex.Match("Some other text with 2 numbers (10/ 100) some other text... From -11°C to -2°C", pattern);

var num1 = int.Parse(result.Groups[1].Value);
var num2 = int.Parse(result.Groups[2].Value);
var num3 = int.Parse(result.Groups[3].Value);
var num4 = int.Parse(result.Groups[4].Value);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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