首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在较大的字符串上找到特定的字符串?

如何在较大的字符串上找到特定的字符串?
EN

Stack Overflow用户
提问于 2014-05-12 02:11:31
回答 4查看 77关注 0票数 0

我试图摆脱多个特定的字符串。例如,我有一个字符串可以打印:

1.绝地2.sith 3.sith 4.sith 5赏金猎人6.jedi 7.sith 8机器人

我的目标是删除副本,以便打印:

  1. 绝地武士
  2. 西斯
  3. 赏金猎人
  4. 机器人

如果我把其中一个绝地改成“绝地武士”,它就不会印刷“绝地武士”。

产出应是:

1.绝地2.sith 3.赏金猎人4.机器人--5岁左右的绝地

现在,我正在使用这段代码来完成删除重复项的任务。

代码语言:javascript
运行
复制
if (department.contains(departmentList.get(empName))){
}
else{
     department += j + ": " + departmentList.get(empName) + "\n";
     j++;
}

我知道哪里出错了。由于我使用的是.contains(变量),当它检查“某某绝地”时,它会发现绝地这个词已经存在了。因此,它返回true,并且不会将其添加到部门。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-12 02:16:40

创建一个集来包含已经输出的部门的全名。每次您想要输出一个部门时,请检查该集是否已经包含它。如果没有,则输出部门名称并将其添加到集合中。

例如:

代码语言:javascript
运行
复制
Set<String> usedDepartments = new HashSet<String>();

然后在你的循环中:

代码语言:javascript
运行
复制
if(!usedDepartments.contains(departmentList.get(empName))) {
    department += j + ": " + departmentList.get(empName) + "\n";
    j++;
    usedDepartments.add(departmentList.get(empName));
}
票数 0
EN

Stack Overflow用户

发布于 2014-05-12 03:25:48

作为你的部门的价值:

代码语言:javascript
运行
复制
department += j + ": " + departmentList.get(empName) + "\n";

您可以更改您的IF语句:

代码语言:javascript
运行
复制
if (department.contains(": " + departmentList.get(empName) + "\n"))

假设:

代码语言:javascript
运行
复制
department = "1: something jedi.\n";
departmentList.get(empName) = "jedi.";
department.contains(": " + departmentList.get(empName) + "\n"); // will return false
票数 0
EN

Stack Overflow用户

发布于 2014-05-12 03:59:17

首先,将您的字符串拆分为Link。其次,做一个集合,这样它就会删除所有的重复。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23600073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档