一个字符串处理 给出一个不固定的字符串 含有数字(有会带小数点)加字母要求分隔出来数字部分 和字母部分、貌似要正则、不太会喔、String str = "0.12a";结果: 0.12 a 如果碰到数字夹字母情况 String str = "0.12a0.12b";结果: 0.120.12 ab 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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); }} #1和#4两位都 可以、每人各50分、现在改了需求、数字加字符加数字的、 从左往右查碰到字符 前面数字算一组 字符到最后算一组、String ex = " 0.12a1248bawd";结果分隔后是numb = 0.12 和 str = a1248bawd 这样的、String numb = "";String string = "";Pattern pat = Pattern.compile("[^\\d+(.\\d*)?]"); Matcher matcher=pat.matcher(ex); if(matcher.find()){ String str = matcher.group();//第一个查询到的字符 numb = ex.substring(0,ex.indexOf(str)); string = ex.substring(ex.indexOf(str),ex.length()); }谢谢各位 java获取服务器域名 西安windchill开发<j2ee>创业型公司求志同道合的勇士 求jdk1.4源码包,在线等谢谢急!!! hibernate的Criteria查询中Restrictions对象是如何引入的 请教一个Quartz表达式? 关于XML动态生成CLASS open flash chart jbx tomcat 连接池 问题 大家帮看一下,问题出在哪里,有关ejb的客户调用,很简单的原形,但通不过 请问如何通过计算机给手机发送短信?谢谢 插件开发,求大神指点。 求一个namednativequery完整案例!!
System.out.println("0.12a0.12b".replaceAll("[a-z]", ""));
System.out.println("0.12a0.12b".replaceAll("[^a-z]", ""));
* @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);
}
}
String numb = "";
String string = "";
Pattern pat = Pattern.compile("[^\\d+(.\\d*)?]");
Matcher matcher=pat.matcher(ex);
if(matcher.find()){
String str = matcher.group();//第一个查询到的字符
numb = ex.substring(0,ex.indexOf(str));
string = ex.substring(ex.indexOf(str),ex.length());
}
谢谢各位