gpt4 book ai didi

java - 正则表达式删除最后一个 "0"并删除字符串开头的任何零

转载 作者:行者123 更新时间:2023-12-01 16:43:32 26 4
gpt4 key购买 nike

我有像

这样的字符串
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

最佳答案

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

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

RegEx Demo

正则表达式详细信息:

  • ^CAP0*:匹配 CAP 并在开头添加 0 个或多个零
  • |:或
  • 0$:匹配最后一个零

关于java - 正则表达式删除最后一个 "0"并删除字符串开头的任何零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57803767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com