当前位置: 代码迷 >> J2EE >> 一个字符串处置
  详细解决方案

一个字符串处置

热度:9   发布时间:2016-04-22 00:24:58.0
一个字符串处理

给出一个不固定的字符串 含有数字(有会带小数点)加字母

要求分隔出来数字部分 和字母部分、

貌似要正则、不太会喔、

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);    }}
  相关解决方案