java解析用分号隔开的字符串并去掉相同字符

例如123;456;123;789;12;54;12;456;
最后希望得到: 789 54 这两个字符串

用java怎么做??
希望能给出详细点的代码,基本的思路我还是知道的,难在具体实现上了,谢谢

这样就搞定了,朋友

public static void main(String[] args) {
String str = "123;456;123;789;12;54;12;456;";

//转化为数组
String[] items = str.split(";");

List cache = new ArrayList();
for(int i=0;i<items.length;i++){

String item = items[i];

int count = 0;
for(int j=0;j<items.length;j++){
if(item.equals(items[j])){
count++;
}
}

if(count<2){
cache.add(items[i]);
}
}

System.out.println(cache);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-05
import java.util.ArrayList;
import java.util.HashMap;

public class Test {
public static void main(String[] args){
String str ="123;456;123;789;12;54;12;456";
HashMap<String,Boolean> map=new HashMap<String,Boolean>();//用来保存字符串是否重复的信息
ArrayList<String> result=new ArrayList<String>();//保存结果的list
for(String s:str.split(";"))
if(map.containsKey(s))//字符串重复,将值设为true
map.put(s, true);
else
map.put(s, false);//字符串无重复,将值设为false
for(String s:map.keySet())//遍历map
if(!map.get(s))
result.add(s);//根据重复与否,将无重复字符串加入结果list
System.out.println(result);//打印结果
}
}
第2个回答  2010-08-05
String类的split方法,可以帮助你获得由指定分隔符分隔的字符串数组。
遍历字符数组,将之添加到HashMap中,然后遍历Map,把value是1的key加到list中。
public List process(String str){
String array[] = str.split(";");
LinkedHashMap map = new LinkedHashMap();
for(int i = 0;i < array.length;i++){
if(map.containsKey(array[i]){
map.put(key,任意值);
}else{
map.put(key,1);
}
}
Iterator iter = map.ketSet().iterator();
ArrayList list = new ArrayList();
while(iter.hasNext()){
String key = iter.next();
if(map.get(key) == 1)
list.add(key);
}
}
return list;
}

接下来你怎么处理这个list就是自己的问题了
第3个回答  2010-08-05
public class Test04 {
public static void main(String[] args) {
String str = "123;456;123;789;12;54;12;456;";
System.out.println(toDeleteRepeat(str));
}

public static String toDeleteRepeat(String str) {
//先把传递进来的字符串给按照一定规则换成数组。或者直接传一个数组进来也可以。
String[] tokens = str.replaceAll(","," ").replaceAll(";"," ").replaceAll(","," ").replaceAll(";"," ").split(" ");
int k = tokens.length;
for(int i = 0;i<tokens.length;i++) {
for(int j = 0;j<tokens.length;j++) {
if(tokens[i]!=null && tokens[i].equals(tokens[j]) && i!=j) {
tokens[j] = null;
k--;
}
}
}
StringBuffer resstr = new StringBuffer(50);
for(int i = 0; i < tokens.length; i++) {
if(tokens[i]!=null) {
resstr.append(tokens[i]).append(" ");
}
}
return resstr.toString();
}

}
第4个回答  2010-08-05
用两重循环就是了哈。。

import java.util.ArrayList;
import java.util.List;

public class StringSplit {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "123;456;123;789;12;54;12;456;";
String[] strs = str.split(";");
List<String> list = new ArrayList<String>();
for (int i = 0; i < strs.length; i++) {
boolean flag = true;
for (int j = 0; j < strs.length; j++) {
if (strs[i].equals(strs[j]) && j != i)
flag = false;
}
if (flag)
list.add(strs[i]);
}
for (String s : list) {
System.out.println(s);
}
}

}

java解析用分号隔开的字符串并去掉相同字符
public static void main(String[] args) { String str = "123;456;123;789;12;54;12;456;";\/\/转化为数组 String[] items = str.split(";");List cache = new ArrayList();for(int i=0;i<items.length;i++){ String item = items[i];int count = 0;for(int j=0;j<items....

...因为最后一小段数据中间也有逗号,怎么用Java解析成以分号为...
然后用字符串的替换功能完成 str = str.replace(",",";")这样既可以完成你要的数据

我想用split(";")来分隔我的Java代码, 但是若是字符串中有`;`我该怎...
对tmp字符串按分号进行分割,将不为空的结果添加到结果集中String[] stArr = tmp.split(";");for (String s : stArr) {if (s.length() > 0) {result.add(s);}}} else {\/\/发现双引号转义符的右转义符,不进行分割,将tmp字符串拼接到结果集的最后一个字符串中String end = result.get...

java代码怎么将取到的值去重后合并显示,中间用分号隔开
import java.util.Set;import org.apache.commons.lang3.StringUtils;public class Test { public static void main(String[] args) { List<String> list1 = new ArrayList<String>(Arrays.asList("1", "2", "3"));List<String> list2 = new ArrayList<String>(Arrays.asList("2", "3",...

java分号“”中的内容怎么换行
在字符串中每隔一段加入\\n强制换行,可以实现换行效果。JOptionPane.showMessageDialog( null,"规则内容规则内容规则内容规则内容\\n规则内容规则内容规则内容规则内容规则\\n内容规则内容规则内容规则内容规则内容规\\n则内容规则内容规则内容规则内容规则内容规\\n则内容规则内容规则内容规则内容","说明",JOptionPan...

java String s = "1,4,6;3,8;9,2,0,5"; 其中分号作为二维数组的分割,逗 ...
public class Demo{ public static void main(String[] args) throws Exception { String s = "1,4,6;3,8;9,2,0,5"; String[] str_Arr = s.split(";"); int[][] arr = new int[str_Arr.length][4];\/\/这个地方首先判断一下长度,我写死了 for(int i = 0 ;...

利用Java求出有一串身份证的数字,用分号隔开,提取每个身份证号,统计...
String card[]=new String[0];\/\/记录身份证号码 String filePath = "D:\/aa.txt";\/\/假设你D盘下有一个aa.txt文件中存放着身份证号码 FileInputStream fin;try { fin = new FileInputStream(filePath);\/\/从filePath中获得输入字节 BufferedReader buffReader = new BufferedReader(new InputStream...

java中如何对一个字符串按逗号和分号分割成数组?
用java.util.StringTokenizer这个类来分隔比较方便,用split一次分不开需要二层循环才能完成。下面是用StringTokenizer分隔字符串的小例子,你看看。String str = "abc,def;gh,ij;k;lm,no,p;qr,st";StringTokenizer st = new StringTokenizer(str,",;");while(st.hasMoreTokens() ){ System.out....

java中如何用split对一个字符串按逗号和分号分割成数组
import java.util.Arrays;public class Day21_A {public static void main(String[] args) {String[] arr=new String("张三,李四,王五;赵六").split("[\\\\,\\\\;]");System.out.println(Arrays.toString(arr));}}

学生必看Java常见的错误及避免方法
通常是因为缺少分号或右括号。 通常,此错误消息不会精确问题的确切位置,为了找到错误:确保所有的左括号都有一个对应的右括号。 在查看指示的Java代码行之前顺便看看行。此eJava软件错误没有被编译器注意到,直到在代码中更深层次地看。 有时一个字符,如一个左括号,并不应该放在Java代码的原先位置。所以开发人员没...

相似回答