有时候一个字符串包含字母与数字,我们需要增加把他们分开,但是并不确定字母跟数字,使用正则表达式可以实现:
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestZhengz2 {
public static void main(String[] args) {
String str = "CP123;DCP356;GCP6;P356;";
isexist(str);
}
private static void isexist(String str){
String[] nums = str.split("[^(0-9)]");
String[] strs = str.split("[^(A-Za-z)]");
List<String> slist = new ArrayList<String>();
List<Integer> iList = new ArrayList<Integer>();
List<String> resultList = new ArrayList<String>();
for (String s : nums) {
if (s!=null && s.trim().length()>0) {
iList.add(Integer.valueOf(s));
}
}
for (String s : strs) {
if (s!=null && s.trim().length()>0) {
slist.add(s);
}
}
for (int i = 0; i < slist.size(); i++) {
resultList.add(slist.get(i)+"-"+iList.get(i));
}
for (String s : resultList) {
System.out.println(s);
}
}
结果: