Java 除1和0之外的匹配号码
如何获取除前0和1之外的所有数字,例如从043241.124.22,我需要获取43241.24.22。 我已经写了代码Java 除1和0之外的匹配号码,java,regex,Java,Regex,如何获取除前0和1之外的所有数字,例如从043241.124.22,我需要获取43241.24.22。 我已经写了代码 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()) + "." .... 但我认为
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()) + "."
....
但我认为它可以通过一行或两行来实现,您应该使用循环。希望这会有所帮助
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);
Pattern p=Pattern.compile(“[2-9]”);
String[]split=number.split(“\\”);
字符串n=“”;
对于(int i=0;i使用replaceAll()
,扫描位于其他数字前面的0
或1
数字,即
- a
0
或1
数字:[01]
- 前面没有数字:
(?
- 并后跟至少一个数字:
(?=\d)
要找到它们的正则表达式是:(?我可以组合到模式p=pattern.compile(“[2-9]”)和String[]split=number.split(“\\”);@JNat如果需要删除所有前导的0
和1
数字,请在[01]之后添加+
。不知道要消除-22
,需要什么规则。也许如果您学习了正则表达式,您可以自己定义规则。
String n = number.replaceAll("(?<=^|\\D)[01](?=\\d)", "");