簡體   English   中英

C#提取沒有句號的十進制數

[英]C# Extract Decimal number with out period

我需要從字符串中提取一個十進制數字。 目前,我正在使用此正則表達式查找十進制數字,但它需要一個正確的十進制值。

 var value = Regex.Match(formula, @"(?n)\d+(\.(?<decimal>\d+))?");
            return value.Groups["decimal"].Success ? int.Parse(value.Groups["decimal"].Value) : 0;

如果我寫2.1它給我1但是當寫.1它不求值該字符串。

我需要使用一個正則表達式從這些字符串中提取一個十進制數字

2.1 = 1
.5 = 5
SMA(21).6 = 6

怎么做?

看來您只想在一個點后提取1個或多個數字。 您可以使用一個簡單的\\.(\\d+)正則表達式來匹配文字點,然后匹配並將 1個或多個數字捕獲到組1中。

采用

var m = Regex.Match(formula, @"\.(\d+)");
var res = string.Empty;
if (m.Success)
{ 
    res = m.Groups[1].Value;
}

正則表達式演示

在此處輸入圖片說明

暫無
暫無

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

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