亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

正則表達式查找匹配項并將符號附加到結果

正則表達式查找匹配項并將符號附加到結果

C#
慕的地8271018 2022-06-19 16:53:54
我需要編寫正則表達式來查找數字并將符號附加到找到的匹配項。輸入文本:雙份濃縮咖啡 4.75 小計 72.45 稅收 5.98Regx 查找稅額/價值:(?<=(TAX|Tax)(\t+|\s+))(.*)(\d*)?.?(\d*)?(\d+)上面的 regx 找到稅額 5.98 但我需要附加 $ 或 # 所以最終結果變為 $5.98 或 #5.98。正則表達式被饋送到第三方應用程序,該應用程序接受從 Regx 返回的任何內容,因此,我無法編寫 c# 代碼來單獨操作 regx 結果,因此查找和追加需要在單個正則表達式中完成。我找不到任何方法來附加或替換正則表達式匹配/結果。有什么辦法嗎?前面提到的 Regx 可以在這里測試:
查看完整描述

3 回答

?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

這可以通過使用負前瞻來實現

input

Double Espresso 4 Mocha 55.42 小計 72.45 稅 5.98

正則表達式:

(?!\s+Tax\s+)((\d+\.\d+)|\d+)$

替代品:

 #$&

結果:

Double Espresso 4 Mocha 55.42 小計 72.45 Tax #5.98

鏈接:https ://regexr.com/457ms

在 C# 中替換

var input = "Double Espresso 4 Mocha 55.42 Subtotal 72.45 Tax 5.98";
var result = Regex.Replace(input, @"(?!\sTax\s)((\d+\.\d+)|\d+)$", "#$1");


查看完整回答
反對 回復 2022-06-19
?
小唯快跑啊

TA貢獻1863條經驗 獲得超2個贊

使用它#$3$6來替換正則表達式。如果您不知道如何在 c# 中用正則表達式替換,請參閱



查看完整回答
反對 回復 2022-06-19
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

如果稅收金額中始終存在a .,您可以將其替換為逗號,并$使用一個正則表達式為金額添加前綴,例如:

var subjectString = "Double Espresso 4 Mocha 55.42 Subtotal 72.45 Tax 5.98";
var result = Regex.Replace(subjectString, @"(?!\sTax\s+)(\d+)(\.)?(\d+)?$", "$$$1,$3");

返回:

Double Espresso 4.75 Subtotal 72.45 Tax $5,98

(您需要將前綴字符的美元符號加倍,因為$它具有特殊含義)

如果你想要一個哈希符號在前面 ( #),就不需要那種特殊的照顧:

var result = Regex.Replace(subjectString, @"(?!\sTax\s+)(\d+)(\.)?(\d+)?$", "#$1,$3");



查看完整回答
反對 回復 2022-06-19
  • 3 回答
  • 0 關注
  • 228 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號