簡體   English   中英

從一開始就刪除零

[英]Remove zeros from begining

我正在嘗試使用正則表達式(非捕獲組)刪除值中的零。 有人有主意嗎?

Matcher matcher = Pattern.compile("(?:[0]+)?(\\S+)").matcher("00100");//.group(0));
//Matcher matcher = pattern.matcher(mydata);

if(matcher.matches()) {
    System.out.println("value   "+matcher.group(0));
}

如果要刪除前導零,則可以使用replaceAll

String input = "00100";
input = input.replaceAll("^0+([^0].*)$", "$1");

正則表達式101

str.replaceAll("^0+(?!$)", "")

我找到了自己的問題的解決方案:

public static void main(String[] args) {
    extractValuesFromRegex("(?:0+|)(\\d+)", "00123");
    extractValuesFromRegex("(?:0+|)(\\d+)", "123");
    extractValuesFromRegex("(\\d+)", "00123");
    extractValuesFromRegex("(\\d+)", "00123");
}

public static final String extractValuesFromRegex(String regex, String input) {
    String extractevalue = input;
    Matcher matcher = Pattern.compile(regex).matcher(input);

    if (matcher.matches()) {
        extractevalue = matcher.group(1);
    }
    return extractevalue;
}

暫無
暫無

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

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