String dd = "字(2014)第QD0023号";
System.out.println(dd = dd.replaceAll("\\D", "_").replace("_+", "_"));
String[] as = dd.split("_+");
System.out.println(Arrays.asList(as));
下面是我的结果
__2014____0023_
[, 2014, 0023]
\D 的意思就是 所有非数字的符号
_+ 的意思就是多个_
这里是使用的正则
用正则的话
如果简单做法,直接用\d*
或者是
字\((.*)\)第\w*(\d*)号
根据ASCII码值来判断