JAVA字符串中去重复字符串

比如字符串“教练教练裁判裁判裁判运动员运动员”,去掉其中重复出现的字符串,最后结果为“教练裁判运动员”,该如何实现?... 比如字符串“教练教练裁判裁判裁判运动员运动员”,去掉其中重复出现的字符串,最后结果为“教练裁判运动员”,该如何实现? 展开
 我来答
历盆郁7
推荐于2017-09-03 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:948万
展开全部
import java.util.ArrayList;
import java.util.List;

public class $ {

    public static void main(String[] args) {
        String str = "教练教练裁判裁判裁判运动员运动员";

        List<String> data = new ArrayList<String>();

        for (int i = 0; i < str.length(); i++) {
            String s = str.substring(i, i + 1);
            if (!data.contains(s)) {
                data.add(s);
            }
        }

        String result = "";
        for (String s : data) {
            result += s;
        }
        System.out.println(result);
    }
}

教练裁判运动员

sishenljm
2013-08-08
知道答主
回答量:8
采纳率:0%
帮助的人:1.1万
展开全部
用一个数组将字符串装起来,然后对字符串从第一个字符开始和之前的字符进行匹配检索,只要有相等的,就继续向后匹配,只要有两个字符及以上匹配相等,就删除当前已匹配小字符串就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thedragon53
2013-08-08 · TA获得超过175个赞
知道小有建树答主
回答量:292
采纳率:76%
帮助的人:123万
展开全部
最好用个特殊符号
如教f练f教f练f裁f判f裁f判f裁f判f运f动f员f运f动f员

这样就可以通过字符串的split的方法取出所有单个字符
然后存在 HashSet里 再读出来就好了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rayregister
2013-08-08 · TA获得超过339个赞
知道小有建树答主
回答量:100
采纳率:100%
帮助的人:65.6万
展开全部
最简单的办法,扫描字符串,对每个字符,删除其后续出现,这样可以保证不会有重复的字符出现,那自然也不会有重复字符串出现。
但是,从语义上说,会有问题
比如“教练教授裁判”会变成“教练授裁判”
追问
很感谢你的回答,但是我也确实不想要你说的那个问题出现。
上面我采纳的那个回答也是有这样的问题,我想取消采纳也取消不了:(
追答
如果要达到语义级别的消除重复串,你可以考虑预先定义“词”(词基本是领域相关的)
比如,你举的例子“教练教练裁判裁判裁判运动员运动员”,词就是教练、裁判、运动员
然后基于你定义的词的级别,去消除重复
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
5822738mj
2018-05-08
知道答主
回答量:14
采纳率:100%
帮助的人:1.4万
展开全部
import java.util.ArrayList;
import java.util.List;

public class $ {
 
    public static void main(String[] args) {
        String str = "教练教练裁判裁判裁判运动员运动员";
 
        List<String> data = new ArrayList<String>();
 
        for (int i = 0; i < str.length(); i++) {
            String s = str.substring(i, i + 1);
            if (!data.contains(s)) {
                data.add(s);
            }
        }
 
        String result = "";
        for (String s : data) {
            result += s;
        }
        System.out.println(result);
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式