黑马程序员技术交流社区
标题:
怎样用正则表达式解决这个问题?
[打印本页]
作者:
犹豫铅笔
时间:
2014-9-22 12:53
标题:
怎样用正则表达式解决这个问题?
怎么将erkktyqqquiozzzzzo变成er##ty###uio#####o?这是我看老毕视频时想到的问题,他好像只告诉了如何变成er#ty#uio#o和erktyquiozo。
作者:
犹豫铅笔
时间:
2014-9-22 15:20
就没人帮我解决吗:'(
作者:
fantacyleo
时间:
2014-9-22 18:31
本帖最后由 fantacyleo 于 2014-9-22 20:22 编辑
public static void main(String[] args) {
String s = "erkktyqqquiozzzzzo";
Pattern p = Pattern.compile("([a-z])\\1+");
Matcher m = p.matcher(s);
StringBuilder sb = new StringBuilder();
int start = 0;
int end = 0;
while (m.find()) {
end = m.start();
if (start < end)
sb.append(s.substring(start, end));
String matched = m.group();
for (int i = 0; i < matched.length(); i++)
sb.append("#");
start = m.end() + 1;
}
System.out.println(sb.toString());
}
复制代码
作者:
犹豫铅笔
时间:
2014-9-22 22:52
fantacyleo 发表于 2014-9-22 18:31
厉害,谢谢,,,
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2