黑马程序员技术交流社区
标题:
怎样用正则表达式理解这个问题
[打印本页]
作者:
凡延海
时间:
2012-6-1 14:03
标题:
怎样用正则表达式理解这个问题
给定字符串“afbdg23556dg3552”我想用统计这里边数字的个数,我用遍历一个一个的字符去做了,但是感觉比较繁琐,那怎样用正则表达式来做呢,我没有头绪,请高手指点。
作者:
林豪
时间:
2012-6-1 14:09
现用获取获得所有数字,在统计数字
作者:
何阳
时间:
2012-6-1 14:20
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "afbdg23556dg3552";
// 定义一个正则
String reglx = "\\d";
Pattern p = Pattern.compile(reglx);
Matcher m = p.matcher(str);
int count = 0;
// 找到一次,计数器累加一次
while (m.find()) {
count++;
}
System.out.println(count);
}
}
作者:
闾丘日月
时间:
2012-6-1 17:34
遍历一个一个的字符去做了,但是感觉比较繁琐............
大家应该都是这么做的,正则表达式是为了增加描述字符串的方便的,就是让你在遍历的时候少写一些个if else之类的判断啥的。。
一个循环还繁琐。。那人家排序都用双重循环的怎么活。。。
当然你如果是这个例子的话我到是有简单的方法给你。。split(reg) reg 为\w+,找些方法会让代码看起来少些,没用循环什么的。
实际上人家底层还是用的循环啊。。 效果还真不如你觉得比较繁琐的。
作者:
闾丘日月
时间:
2012-6-1 19:06
replaceAll确实让程序看起来简单了许多,又学到一点东西。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2