[英]Regex to take first set after Space and want to remove $ with same regex
我的輸入字符串:
“ $ 440,765.12 12-108(e)\\ n3”
我想要的輸出字符串為:-
“440,765.12”
我已經嘗試過使用下面的正則表達式,並且可以正常工作,但是我無法使用相同的正則表達式刪除$,所以有人知道如何使用下面的正則表達式執行相同的任務嗎?
Regex rx = new Regex(@"^(.*? .*?) ");
var match = rx.Match(" $440,765.12 12-108(e)\n3 ");
var text = match.Groups[1].Value;
使用上述正則表達式后的輸出:-$ 440,765.12
我知道我可以使用string.replace函數執行相同的任務,但我只想對regex進行相同的操作。
您可以使用
var result = Regex.Match(s, @"\$(\d[\d,.]*)")?.Groups[1].Value;
參見regex演示 :
細節
\\$
-匹配$
char (\\d[\\d,.]*)
-將一個數字捕獲到組1( $1
)中,然后將0個或多個數字,
或捕獲.
字符。 如果您想要更“精確”的模式(以防匹配項出現在一些不相關的點或逗號中),則可以使用
\$(\d{1,3}(?:,\d{3})*(?:\.\d+)?)
請參閱此正則表達式演示 。 在這里, \\d{1,3}(?:,\\d{3})*(?:\\.\\d+)?
匹配1、2或3位數字,后跟0或多個重復,
和3位數字,后跟可選的a序列.
字符和1個或多個數字。
另外,如果除$
之外可以有其他貨幣符號,則將\\$
$
替換\\$
與任何貨幣符號匹配的\\p{Sc}
Unicode類別 :
\p{Sc}(\d{1,3}(?:,\d{3})*(?:\.\d+)?)
參見另一個正則表達式演示 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.