C#正則提取字符串中的數字(轉載)

來源:https://blog.csdn.net/qubernet/article/details/107230863

首先需要引入命名空間System.Text.RegularExpressions,具體實現如下所示:

//提取純數字,該方式會將所有數字提取出來並拼接在一起,如:"ABC#123@AS456測試"提取出來就是123456
var result1 = Regex.Replace("ABC#123@AS測試", @"[^0-9]+", "");


//提取多個數字,該方式會分別提取字符串中的數字,如:"ABC#123@AS456測試789"就會分別提取123、456、789
var reg = new Regex("[0-9]+", RegexOptions.IgnoreCase | RegexOptions.Singleline, TimeSpan.FromSeconds(2));
var mc = reg.Matches("ABC#123@AS456測試789");
foreach (Match m in mc)
{
//將會返回123、456、789
var val = m.Groups[0].Value;
}


//提取帶有小數點的數字,該方式會將所有帶有小數的數字拼接在一起,如:"ABC#[email protected]測試"提取出來就是123.568.9
var result2 = Regex.Replace("ABC#123.56@AS測試", @"[^\d.\d]", "");
//如果是數字,則轉換爲decimal類型
if (Regex.IsMatch(result2, @"^[+-]?\d*[.]?\d*$"))
{
var val = decimal.Parse(result2);

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章