[英]Regex to find trailing letter in a string
我在字符串中有一個SQL查詢,它是動態構建的。 有時,它將包含形式為"1000M"
的小數。
M
始終為大寫。 因此字符串可能如下所示:
"3 sql stmts here 10009M some other 3 sql stmts here"
我想知道是否有可能可靠且始終如一地刪除M
所以字符串看起來像這樣:
"3 sql stmts here 10009 some other 3 sql stmts here"
我開始考慮正則表達式:
[0-9][M]
這將與M
和M
本身之前的數字匹配。
我想知道是否可以使用正則表達式,除非有更好的方法
您可以使用
var res = Regex.Replace(str, @"(\d+)M\b", "$1");
參見演示 。
(\\d+)
匹配並捕獲到組1中一個或多個數字,並且M\\b
匹配一個M
,其后跟一個非單詞字符或在字符串的末尾。
使用$1
(對組1的反向引用),我們可以訪問與第一個捕獲組(...)
匹配的內容。
我認為您需要一個空格邊界,而不是單詞邊界。
查找: (?<=(?<!\\S)\\d+)M(?!\\S)
更換:無
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.