rt,比如我想把字符串中数字字符分开,用它可以实现吗。String orgin = "abc123ddw45678d41s7852a";
StringTokenizer st = new StringTokenizer(orgin, "\\d+");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken() );
得到的结果不是abc ddw d s a这样的结果啊。我想问的就是这里的正则表达式不行吗,或者说不能这么用吗。
StringTokenizer st = new StringTokenizer(orgin, "\\d+");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken() );
得到的结果不是abc ddw d s a这样的结果啊。我想问的就是这里的正则表达式不行吗,或者说不能这么用吗。
解决方案 »
- java SimpleDateFormat 格式化时问题
- java中数据定义时间初始化和在非数据定义时间初始化的区别。
- Eclipse Rcp应用程序中jvm内存问题
- java 递归调用
- 问一个有关Static Initialization的问题
- 关于Date对象的一个问题,十分救急
- Java是如何找到系统的字体文件的?
- javase差不多学完了,求推荐项目案例的书籍或者资源分享
- 为什么jb7的控件放上去都是占满整个窗体的啊?
- 比如要运行helloworld.class,要怎么写,java helloworld.class有以下错误
- 如何获取并验证用户在文本框中输入的密码是否正确
- java中 索引 的介绍及使用
import java.util.regex.Pattern;public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Pattern p=Pattern.compile("([0-9]{3})([a-z]{1,3})");//添加括号就可以进行分组显示
Matcher m=p.matcher("abc123ddw45678d41s7852a");
while(m.find()){
System.out.println(m.group(2));//对正则匹配出来的抽取数字,括号里的2代表分组
}
}}
www.zxd.cc
public static void main(String[] args) {
// TODO 自动生成的方法存根
Pattern p=Pattern.compile("\\d+");
Matcher m=p.matcher("abc123ddw45678d41s7852a");
while(m.find()){
System.out.println(m.group()));
}
}
}另外,参看一下Java的API文档就知道,这里的构造函数是不支持正则表达式的,所以会当做普通的字符串进行处理。