我希望拆分一个字符串,以便开始字母字符串(直到出现第一个数字数字)。还有另一个字母数字字符串。
例如:我有一个字符串,例如: Nesc123abc456
我想通过拆分上面的字符串获得以下两个字符串: Nesc,123abc 456
我尝试过的:
String s = "Abc1234avc";
String[] ss = s.split("(\\D)", 2);
System.out.println(Arrays.toString(ss));但这只是去掉了字符串中的第一个字母。
发布于 2014-05-08 07:49:34
您也许可以使用查找器,这样就不会使用分隔部分:
String s = "Abc1234avc";
String[] ss = s.split("(?<=\\D)(?=\\d)", 2);
System.out.println(Arrays.toString(ss));ideone演示
(?<=\\D)确保在分割零件之前有一个非数字的,
(?=\\d)确保在要分割的部分后面有一个数字。
发布于 2014-05-08 07:48:00
你需要量词。
试一试
String[] ss = s.split("(\\D)*", 2);这里有更多信息:http://docs.oracle.com/javase/tutorial/essential/regex/quant.html
发布于 2014-05-08 07:47:53
你没试过replaceAll吗
String s = ...;
String firstPart = s.replaceAll("[0-9].*", "");
String secondPart = s.substring(firstPart.length());https://stackoverflow.com/questions/23535723
复制相似问题