您的位置:首页 > 编程语言 > Java开发

Java基础练习题 (3)正则表达式

2017-05-05 17:28 344 查看
(1)如何将字符串按指定的字符进行分割?.

使用 String 类的 split(regex) 方法,根据给定的正则表达式分割字符串。

String str = "abcabcabc";
String[] result = str.split("b");


上面就是以 ‘b’ 为分割字符,结果为 {“a”, “ca”, “ca”, “c”}。

与 split 方法对立的功能是 String 类的静态方法 join 方法。

(2)如何用正则表达式搜索字符串并提取找到的内容?

这就要用到两个类,Matcher 类和 Pattern 类。

String content = "hello world!";
String regex = "\\w+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
matcher.find();
System.out.println(matcher.group(0));


这段代码会打印出 “hello”。matcher.find() 会进行一次匹配,然后我们可以使用 group 方法获取想要的组,不传递参数就默认选取 0 号分组,就是整个匹配到的字符串。

(3)如何用正则表达式将时间字符串从”yyyyMMdd”转换为”yyyy-MM-dd”?

这个是很简单的正则,就只有数字,用分组就很容易解决

String content = "20170505";
String regex = "(\\d{4})(\\d{2})(\\d{2})";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(content);
matcher.find();
String result = matcher.group(1) + "-" + matcher.group(2) + "-" + matcher.group(3);
System.out.println(result);


输出 2017-05-05
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java