日期:2014-05-19 浏览次数:20599 次
System.out.println("0.12a0.12b".replaceAll("[a-z]", "")); System.out.println("0.12a0.12b".replaceAll("[0-9]", "").replaceAll("\\.", ""));
------解决方案--------------------
也可以这样!
System.out.println("0.12a0.12b".replaceAll("[a-z]", "")); System.out.println("0.12a0.12b".replaceAll("[^a-z]", ""));
------解决方案--------------------
把每个字节都拿出来判断ascii码也可以来区分
------解决方案--------------------
我刚才也写了一个小例子,不过没有正则表达式来的简单.
public class Test { /** * @param args */ public static void main(String[] args) { String number = ".0123456789"; String str = "0.12abc1.1"; char[] chars = str.toCharArray(); String numberPart = ""; String stringPart = ""; for(int i = 0; i < chars.length; i++) { char c = chars[i]; if(number.indexOf(String.valueOf(c)) >= 0) { numberPart += c; } else { stringPart += c; } } System.out.println("===NumberPart===" + numberPart); System.out.println("===stringPart===" + stringPart); } }