字符串分割,正则表达式
我一些字符串,是由正整数部分跟英文字母组成,正整数在前,英文字母在后,--------------------编程问答-------------------- 感觉着个不能用split,看别人的回答吧 --------------------编程问答--------------------
String a= 1self;
String b= 432all;
String c = 22branch;
....
能把每一个字符串分割成正整数一个,英文字母一个么,
intger a = 1
String a2 = self
intger b1 = 432
String = all
....
public static void main(String[] args) {--------------------编程问答--------------------
String str = "22branch";
Pattern pattern = Pattern.compile("^(\\d+)([a-zA-Z]+)");
Matcher matcher = pattern.matcher(str);
if(matcher.matches()){
System.out.println(matcher.group(1));
System.out.println(matcher.group(2));
}
}
String source = "aa22branch";--------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 顶这个,个人觉得这个符合楼主的要求 --------------------编程问答-------------------- 运行这个方法是成功的。 --------------------编程问答-------------------- 我有个疑问啊,正则表达式写出
String reg = "(\\d+|[a-zA-Z]+|[\\u4e00-\\u9fa5]+)";
Matcher m = Pattern.compile(reg).matcher(source);
while (m.find()) {
String value = m.group();
System.out.println(value);
}
String reg = "(\\d+|[a-zA-Z]+)";也是可以的,你写的这个[\\u4e00-\\u9fa5]+是什么意思啊?能讲一下吗。 --------------------编程问答--------------------
[\\u4e00-\\u9fa5]+
这是ASCII码的范围,匹配所有中文字符,+的意思就是匹配至少一个中文字符。 --------------------编程问答--------------------
我有个疑问啊,正则表达式写出
String source = "aa22branch";
String reg = "(\\d+|[a-zA-Z]+|[\\u4e00-\\u9fa5]+)";
Matcher m = Pattern.compile(reg).matcher(source);
while (m.find()) {
String value = m.group();
System.out.println(value);
}
String reg = "(\\d+|[a-zA-Z]+)";也是可以的,你写的这个[\\u4e00-\\u9fa5]+是什么意思啊?能讲一下吗。
[\\u4e00-\\u9fa5]+
这是ASCII码的范围,匹配所有中文字符,+的意思就是匹配至少一个中文字符。
我有个疑问啊,正则表达式写出
String source = "aa22branch";
String reg = "(\\d+|[a-zA-Z]+|[\\u4e00-\\u9fa5]+)";
Matcher m = Pattern.compile(reg).matcher(source);
while (m.find()) {
String value = m.group();
System.out.println(value);
}
String reg = "(\\d+|[a-zA-Z]+)";也是可以的,你写的这个[\\u4e00-\\u9fa5]+是什么意思啊?能讲一下吗。
[\\u4e00-\\u9fa5]+
这是ASCII码的范围,匹配所有中文字符,+的意思就是匹配至少一个中文字符。
可以啊!用split()这个函数就能分隔了!
split()方法总要消除掉用以分隔的字符的,即括号里面的字符串会被删除,得到一个字符串数组。。。。 --------------------编程问答--------------------
String numberString = input.split("[\\d]+")[0];
String charString = input.subString(numberString.length() - 1);
手上没有Java环境,试试看 --------------------编程问答--------------------
String numberString = input.split("[\\d]+")[0];
String charString = input.subString(numberString.length() - 1);
手上没有Java环境,试试看
好吧,我太愚笨了
补充:Java , Java SE