首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >匹配号,1和0除外

匹配号,1和0除外
EN

Stack Overflow用户
提问于 2017-12-29 06:15:08
回答 2查看 48关注 0票数 0

如何获得除前0和1以外的所有数字,例如043241.124.22,我需要得到43241.24.22。我已经写了代码

代码语言:javascript
复制
Pattern p = Pattern.compile("[2-9]");
String[] split = number.split("\\.")
String n = "";
Matcher m = p.matcher(split[0])
m.find();
n += split[0].substring(matchere.start()) + "."
....

但我认为可以用一两行

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-29 06:47:25

使用replaceAll(),扫描01数字导致其他数字,即

  • 01数字:[01]
  • 前面没有数字:(?<=^|\D)(?<!\d)
  • 后面至少有一个数字:(?=\d)

找到这些信息的理由是:(?<=^|\D)[01](?=\d)

Java代码是:

代码语言:javascript
复制
String n = number.replaceAll("(?<=^|\\D)[01](?=\\d)", "");

有关工作代码,请参见依佩恩

票数 1
EN

Stack Overflow用户

发布于 2017-12-29 06:27:40

你应该用循环。希望这能帮上忙。

代码语言:javascript
复制
Pattern p = Pattern.compile("[2-9]");
String[] split = number.split("\\.");
String n = "";
for(int i=0;i<split.length;i++)
{
Matcher m = p.matcher(split[i]);
m.find();
n += split[i].substring(m.start())+".";

}
System.out.println(n);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48018261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档