要想把类似“G11G12J1J2”这样的字符串拆分成G11、G12、J1、J2的样子,就是一个字母加一个数字。谢谢
解决方案 »
- java如何将时间戳转换为时间字符串?
- 使用jacob出现异常com.jacob.com.ComFailException: Invoke of: AddValue
- [急]求几本JMF的参考书
- JTextArea中的add()加组件问题?
- URLEncode出错,请大家帮忙看看.
- 打印不同步问题,各位大大帮帮忙,小弟急求,在线等待
- Applet如何调用网页的内容
- java.lang.NULLPointerException这个异常是什么意思?什么情况下会产生?如何解决?
- 谁能为我指点指点——在notes开发中对notes文档和非notes文档的检索怎样解决?急!!!
- JDK使用的小问题
- Android开发 学习过程,从 java 基础开始吗(⊙_⊙?)
- 求正则,取出一段文字中除了<img />标签以为的所有内容,谢谢
String str = "G11G12J1J2";//false
Matcher m=Pattern.compile("[a-zA-Z]+\\d+").matcher(str);
while(m.find()){
System.out.println(m.group());
}
String[] strs = str.split("(?<=[0-9])(?=[a-zA-Z])");
String str="G11G12J1J2";
String[] strs = str.split("(?<!^)(?=[A-Z])");
System.out.println(Arrays.toString(strs));
/* X+ X, one or more times */
Matcher matcher = Pattern.compile("[a-zA-Z]+\\d+").matcher(str);
Vector<String> vector = new Vector<String>();
while (matcher.find()) {
vector.add(matcher.group());
}
for (int j = 0; j < vector.size(); j++) {
System.out.println(vector.get(j));
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class StringSplitAndMatcher {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "G11G12J1J2";
/* If n is zero then the pattern will be applied as many times as
* possible, the array can have any length, and trailing empty
* strings will be discarded. */
String[] splitResult = Pattern.compile("(?=[a-zA-z])(?<=[0-9])").split(str, 0);
System.out.println("The splitResult length is: " + splitResult.length);
for (String e : splitResult) {
System.out.println(e);
}
/* regex = regular expression */
String[] splitResult2 = str.split("(?<=[0-9])(?=[a-zA-z])");
System.out.println("The splitResult2 length is: " + splitResult2.length);
for (String e : splitResult2) {
System.out.println(e);
}
/* regex = regular expression */
String[] splitResult3 = str.split("(?<=\\d)(?=[a-zA-z])");
System.out.println("The splitResult3 length is: " + splitResult3.length);
for (String e : splitResult3) {
System.out.println(e);
}
/* X+ X, one or more times */
Matcher matcher = Pattern.compile("[a-zA-Z]+\\d+").matcher(str);
Vector<String> vector = new Vector<String>();
while (matcher.find()) {
vector.add(matcher.group());
}
System.out.println("The matcher length is: " + vector.size());
for (int j = 0; j < vector.size(); j++) {
System.out.println(vector.get(j));
}
Matcher matcher2 = Pattern.compile("[a-zA-Z]+[0-9]+").matcher(str);
Vector<String> vector2 = new Vector<String>();
while (matcher2.find()) {
vector2.add(matcher2.group());
}
System.out.println("The matcher2 length is: " + vector2.size());
for (int j = 0; j < vector2.size(); j++) {
System.out.println(vector2.get(j));
}
}}