首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 正則表達式提取溫度字串中的最高溫數值

     編輯:程式設計綜合問答

需求

給定格式固定的字串 "29℃~20℃",需提取最高溫 29。

正則模式設計

模式 @"(\d+)℃~(\d+)℃" 解析:

  • (\d+):捕獲組 1,匹配一位或多位數字(最高溫)。
  • ℃~:字面匹配分隔符。
  • (\d+):捕獲組 2,匹配最低溫。
  • ℃:結束標記。

完整代碼

string pattern = @"(\d+)℃~(\d+)℃";
string input = "29℃~20℃";

Match m = Regex.Match(input, pattern);
if (m.Success)
{
    string highTemp = m.Groups[1].Value; // "29"
    string lowTemp  = m.Groups[2].Value; // "20"
    Console.WriteLine($"最高溫: {highTemp}℃, 最低溫: {lowTemp}℃");
}

進階:直接轉數值

int high = int.Parse(m.Groups[1].Value);
int low  = int.Parse(m.Groups[2].Value);

注意事項

  • 若字串可能包含空格,模式改為 @"\s*(\d+)\s*℃\s*~\s*(\d+)\s*℃"。
  • Groups[0] 為整個匹配字串,Groups[1] 才是第一個捕獲組。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved