给出一个不固定的字符串 含有数字(有会带小数点)加字母
要求分隔出来数字部分 和字母部分、
貌似要正则、不太会喔、
String str = "0.12a";
结果:
0.12 a
如果碰到数字夹字母情况
String str = "0.12a0.12b";
结果:
0.120.12 ab
------解决方案--------------------
- Java code
System.out.println("0.12a0.12b".replaceAll("[a-z]", ""));System.out.println("0.12a0.12b".replaceAll("[0-9]", "").replaceAll("\\.", ""));
------解决方案--------------------
也可以这样!
- Java code
System.out.println("0.12a0.12b".replaceAll("[a-z]", ""));System.out.println("0.12a0.12b".replaceAll("[^a-z]", ""));
------解决方案--------------------
把每个字节都拿出来判断ascii码也可以来区分
------解决方案--------------------
我刚才也写了一个小例子,不过没有正则表达式来的简单.
- Java code
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); }}