簡體   English   中英

使用正則表達式刪除字符串末尾的所有零

[英]Remove all Zero at end in string using Regex

僅當字符串中有, ,我才必須在字符串末尾刪除零。 我可以使用正則表達式完成以下所有操作嗎? 所以

123,90 -> 123,9
123,00 -> 123,
123,0 -> 123,
123,0090 ->123,009
00,34-> 00,34
ABC -> ABC

使用此正則表達式搜索:

(,\d*?)0+\b

並將其替換為:

$1

IdeOne 代碼演示

RegExStrorm 演示- 單擊"Context"選項卡以查看結果

RegEx101 演示

請記住, RegEx用於測試模式。 它將返回 true 或 false 而不是對字符串本身進行任何更改。

如果要搜索字符串末尾的字符,可以使用 $ 符號來構建正則表達式

在此處輸入圖片說明

如果您想對此進行實時測試,請使用此工具

所以,這個正則表達式會在每次最后返回 0 時返回true ,否則返回false

0$

現在,如果您需要刪除該零,則需要執行 TRIM

"129,0".TrimEnd('0')

請注意 TrimEnd 函數中的引號。 這是因為此方法需要一個字符而不是字符串。

問候!

好像您使用,作為數字-十進制分隔符。 所以你可以使用double.TryParsedouble.ToString來獲得想要的結果:

string str = "123,0090";
double d;
if (double.TryParse(str, out d))
    str = d.ToString();

如果要確保使用逗號作為小數點分隔符:

if (double.TryParse(str, NumberStyles.Any, new CultureInfo("de-DE"), out d))
    str = d.ToString();

如果您使用decimal.TryParse代替,則會保留尾隨零的數量,這在這種情況下是不需要的。Msdn“縮放因子還保留十進制數中的任何尾隨零。.....可能會被ToString方法顯示......”

     String line = "120,90";


    String newLine = line.replaceAll("0*$", "");
//120,9

從字符串表達式的末尾開始刪除任何“0”。 用空格替換從字符串末尾到字符串中第一個非 0 字符的所有 0。

要在 Javascript 中執行此操作,您可以執行以下操作:

'0.000015000000'.replaceAll(/0*$/g, "") 

返回“0.000015”

暫無
暫無

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

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