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

xiaoxiao2021-02-28  119

(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

转载请注明原文地址: https://www.6miu.com/read-35161.html

最新回复(0)