簡體   English   中英

正則表達式刪除除最后一個以外的所有零

[英]Regex to remove all zeroes except the last one

我正在構建一個表達式,它將處理我的固定寬度文件字段。 我需要去掉金額前面的所有零,但有時該字段中只有零。 此字段中始終有 11 個字符。 這是我目前的表達方式。

^0+(?=.$)

只要此字段中只有零, 00000000000就可以正常工作。 然而,這是一個支付應用程序,這個字段存儲金額,所以如果我們得到例如00000000099它不能按預期工作並返回整個字符串。 解決這個問題的最佳方法是什么? 我對此仍然很新鮮,我一定錯過了一件微不足道的事情。 提前致謝。

你還沒有提到你正在使用哪個應用程序。 也許有一個 function 來刪除填充? 如果你想要正則表達式,看起來你可以嘗試:

^0+(?=\d+$)

並一無所有。 請參閱在線演示

  • ^ - 起始線錨。
  • 0+ - 最多匹配 1+ 個零;
  • (?=\d+$) - 結束行字符前 1+ 位的正向前瞻。

或使用:

^0+(\d+)$

並由第一個捕獲組替換。 查看演示

  • ^ - 起始線錨。
  • 0+ - 最多匹配 1+ 個零;
  • (\d+) - 第一個捕獲組,包含 1 個以上的數字。
  • $ - 結束線錨。

暫無
暫無

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

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