簡體   English   中英

從文本中提取帶指數的雙數值

[英]Extract double number value with exponent from text

如何從具有更多字符的字符串中提取可能具有指數的double類型的數字?

例如從中提取56.8671311035e-06

“這是一個字符串,其內部數字為56.8671311035e-06,該字符串在此處繼續”

我猜可以使用正則表達式來完成,但是我對它們的了解非常有限。

是的,我想說正則表達式是您的朋友:

var match = Regex.Match(input, @"[0-9.]+e[-+][0-9]+");

或者,您可以防止將多個小數點與以下內容匹配(最后一個將被視為“適當的”):

@"\b[0-9]+(.[0-9]+)e[-+][0-9]+\b"

編輯:這是一個更完整的示例,它將允許可選指數,並且還允許小數點位於數字的開頭

@"[\d]*\.?[\d]+(e[-+][\d]+)?"

你可以這樣做:

string test = "this is a string with a number inside 56.8671311035e-06 and the string continues here";
string expoNum = Regex.Match(test,@"[\d.]+e[-+]?\d+").Value;

暫無
暫無

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

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