为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

当年话下 2023-07-13 14:20:35
我有像这样的字符串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。
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您可以使用交替在单次调用中执行此操作replaceAll

str = str.replacAll("^CAP0*|0$", "");

正则表达式演示

正则表达式详细信息:

  • ^CAP0*: 匹配CAP开头有 0 个或多个零

  • |: 或者

  • 0$:匹配最后一个零


查看完整回答
反对 回复 2023-07-13
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信