急求!!!!用java 写一个 字符串去重 的程序!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急求!!!!用java 写一个 字符串去重 的程序!相关的知识,希望对你有一定的参考价值。
用java语言怎样将类似于这样的“人、药物、疾病、药物、疾病、人、药物、”的字符去重呀!我想要的结果是“人、药物、疾病、”,求大牛指点一下!
先通过标点符号分词,然后去掉重复的词语。String str=“人、药物、疾病、药物、疾病、人、药物、”;
String[] ss=str.split("、");
Map<String,Boolean> sm=new HashMap<String,Boolean>();
List<String> l=new ArrayList<String>();
for(String s:ss)
if(!sm.containsKey(s))
l.add(s);
sm.put(s,true);
最后l就是你去掉重复的词组之后所得的文本。组合起来就行了。
参考技术A 先问下,只是单单的去除重复啊,要不要知道去掉了哪个
如果说单单是去除重复的话,
String str="人、药物、疾病、药物、疾病、人、药物";
String[] s=str.split("、");
Set<String> sSet = new HashSet<String>();
for(int i=0;i<ss.length;i++)
sSet.add(ss[i]);
//看看是否去掉了?
System.out.println(sSet.toString());
至于后面要组装成什么,看你了
好好利用Set的不重复的数据结构,
用java写一个程序,从一个很长的字符串中搜索出某一段字符,列出所有符合的字符
参考技术A import java.util.regex.Matcher;import java.util.regex.Pattern;
public class RecE
Pattern pattern;
Matcher matcher;
/* ps:
字符类
[abc] a、b 或 c(简单类)
[^abc] 任何字符,除了 a、b 或 c(否定)
[a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
[a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
[a-z&&[def]] d、e 或 f(交集)
[a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
[a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]
*/
public void getMatchedPattern(String regx,String source)
pattern = Pattern.compile(regx);
matcher = pattern.matcher(source);
int index = 1;
while(!matcher.hitEnd())
if(matcher.find())
System.out.println("找到第"+index +"个"+matcher.group());
index++;
System.out.println("一共找到"+(index-1)+"组匹配项");
public static void main(String[] args)
new RecE().getMatchedPattern("love","ilove12what i love23e tolove dolove a efe");
结果:
找到第2个love
找到第3个love
找到第4个love
一共找到4组匹配项 参考技术B 用正则表达式,或者使用indexOf
String path = "E:\\SOFT\\Develop\\spring-framework-3.1.0.RELEASE\\dist";
String forFind = path;
String find ="soft";
ArrayList<String> temp = new ArrayList<String>();
while (true)
int index = forFind.indexOf(find);
temp.add(forFind.substring(index, index + find.length()));
forFind = forFind.substring(index + find.length());
if (index == -1 || forFind.length() < find.length())
break;
参考技术C 自己看正则表达式
就两三句代码 参考技术D 列出所有符合的字符
subStringof
以上是关于急求!!!!用java 写一个 字符串去重 的程序!的主要内容,如果未能解决你的问题,请参考以下文章
c语言编程 写一个函数,实现两个字符串的比较,即写一个类似于strcmp功能的函数。急求,谢谢!
急求。。。C语言实现,计算字符串中子串出现的次数,就是先输入一个字符串,再输入一个上面字符串中存在