龙空技术网

Java剔除字符中连续重复字符保留一次

hiecho 163

前言:

目前同学们对“java去掉最后一个字符”都比较注重,我们都需要知道一些“java去掉最后一个字符”的相关内容。那么小编在网摘上搜集了一些关于“java去掉最后一个字符””的相关内容,希望姐妹们能喜欢,兄弟们快快来了解一下吧!

功能说明:

1.只能剔除中文字符

2.剔除两个以上重复连续的字符

3.无论奇数还是偶数次重复连续出现只保留一次

直接上代码

final static Pattern PATTERN_repeatChar = Pattern.compile("([\\u4e00-\\u9fa5]{2,})(\\1)");public static String repeatChar(String repeatChar) {    while (PATTERN_repeatChar.matcher(repeatChar).find()) {        Matcher matcher = PATTERN_repeatChar.matcher(repeatChar);        if (matcher.find()) {            String match = matcher.group(1);            int start = matcher.start();            String substring = repeatChar.substring(matcher.end());            Matcher matcherNext = Pattern.compile(match).matcher(substring);            if (matcherNext.find() && 0 == matcherNext.start()) {                repeatChar = repeatChar.substring(0, start) + substring;            } else {                repeatChar = repeatChar.substring(0, start) + match + substring;            }        }    }    return repeatChar;}

调用

public static void main(String[] args) {    String nonsense = "老师告诉你一件一件比较比较比较比较神奇的神奇的是猜猜我是谁猜中送一件比较好看的饰品给你?";    String address = "我家地址在南京市南京市雨花区雨花区雨花区雨花台雨花村雨花路雨花街雨栋雨花巷";    String wordy = "好说好说吗都是自己人自己人";    System.out.println(nonsense + "  ----- "+repeatChar(nonsense));    System.out.println(address + "  ----- "+repeatChar(address));    System.out.println(wordy + "  ----- "+repeatChar(wordy));}

结果

老师告诉你一件一件比较比较比较比较神奇的神奇的是猜猜我是谁猜中送一件比较好看的饰品给你?  ----- 老师告诉你一件比较神奇的是猜猜我是谁猜中送一件比较好看的饰品给你?我家地址在南京市南京市雨花区雨花区雨花区雨花台雨花村雨花路雨花街雨栋雨花巷  ----- 我家地址在南京市雨花区雨花台雨花村雨花路雨花街雨栋雨花巷好说好说吗都是自己人自己人  ----- 好说吗都是自己人

标签: #java去掉最后一个字符 #java去掉最后一个字符怎么弄