首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

一个字符串处置

2012-11-10 
一个字符串处理给出一个不固定的字符串含有数字(有会带小数点)加字母要求分隔出来数字部分和字母部分、貌似

一个字符串处理

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

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

貌似要正则、不太会喔、

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);    }} 

热点排行