gpt4 book ai didi

java - 从字符串的数字部分中删除所有前导零

转载 作者:行者123 更新时间:2023-11-30 07:56:18 25 4
gpt4 key购买 nike

我正在尝试从字符串的数字部分中删除所有前导零。我想出了这段代码(如下)。从给定的例子中它起作用了。但是当我在开头添加一个“0”时,它不会给出正确的输出。有人知道如何实现这一目标吗?提前致谢

输入:(2016)abc00701def00019z -> 输出:(2016)abc701def19z -> 结果:正确

输入:0(2016)abc00701def00019z -> 输出:(2016)abc71def19z -> 结果:错误 -> 预期输出:(2016)abc701def19z

编辑:字符串可以包含英文字母以外的字母。

String localReference = "(2016)abc00701def00019z";
String localReference1 = localReference.replaceAll("[^0-9]+", " ");
List<String> lists = Arrays.asList(localReference1.trim().split(" "));
System.out.println(lists.toString());
String[] replacedString = new String[5];
String[] searchedString = new String[5];
int counter = 0;
for (String list : lists) {
String s = CharMatcher.is('0').trimLeadingFrom(list);
replacedString[counter] = s;
searchedString[counter++] = list;

System.out.println(String.format("Search: %s, replace: %s", list,s));
}
System.out.println(StringUtils.replaceEach(localReference, searchedString, replacedString));

最佳答案

str.replaceAll("(^|[^0-9])0+", "$1");

这会删除非数字字符之后和字符串开头的任何一行零。

关于java - 从字符串的数字部分中删除所有前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42360955/

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