正则表达式删除最后一个“0”并删除字符串开头的所有零

我有像这样的字符串


1) "CAP07560" 

2) "CAP41060" 

3) "CAP43500"

4) "CAP22390"

我想首先删除"CAP"字符串中的文本,然后对于剩余的字符串,我想删除最后一个“0”并删除字符串开头的任何零。


所以我的输出将是:


1) "756" 

2) "4106" 

3) "4350"

4) "2239"

我尝试了以下方法-


public class RegexTest {

    public static void main(String[] args) {

        // drop the last "0" and then drop any 

        // zeros at the start of the remaining number. 

        String str = "CAP07560";

        String pattern = "^CAP[ 0]*|( |(?<!\\d))*$";

        str = str.replaceAll(pattern, "");

        System.out.println(str);

    }

}

我的输出:7560


所以我的输出是7560但它应该是756。


当年话下
浏览 151回答 1
1回答

慕盖茨4494581

您可以使用交替在单次调用中执行此操作replaceAll:str&nbsp;=&nbsp;str.replacAll("^CAP0*|0$",&nbsp;"");正则表达式演示正则表达式详细信息:^CAP0*: 匹配CAP开头有 0 个或多个零|: 或者0$:匹配最后一个零
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java