从java中的字符串中删除常见的字符串字符

时间:2015-01-19 11:00:35

标签: java android string

嗨我有两个字符串

str1="abcd" 
str2="apcd" 

现在我想删除第二个字符串中的所有常用字符。我怎样才能做到这一点?我用HashSet试了一下,但是有什么简单的方法吗?请帮帮我。

提前致谢

3 个答案:

答案 0 :(得分:1)

StringBuffer sb1 = new StringBuffer("abcd");
StringBuffer sb2 = new StringBuffer("apcd");

for(int i=0;i<sb1.length();i++){            
    for(int j=0;j<sb2.length();j++){                    
        if(sb1.charAt(i) == sb2.charAt(j)){
        sb2.deleteCharAt(j);                        
        }                   
    }           
}
System.out.println(sb2);

答案 1 :(得分:0)

使用番石榴的例子:

package org.example;
import com.google.common.base.CharMatcher;
public class CharRemover {
  public static void main(final String[] args) {
    final String str1 = "abcd";
    final String str2 = "apcd"; 
    System.out.println(CharMatcher.anyOf(str1).and(
                       CharMatcher.anyOf(str2)).removeFrom(str2));
  }
}

答案 2 :(得分:0)

如果我的答案错了,请原谅我。 因为我是java的新手。

public class Stack {
static int count=0;
static int index=0;
public static void main(String args[])
{
String  str1="abcdg"; 
String  str2="apcdj";

int i=0;
char buffer[]=new char[str1.length()];
        for(i=0;i<str1.length();i++)
        {
            char s=str1.charAt(i);
            char s1=str2.charAt(i);
            if(s!=s1)
            {
                int j=i;
                j=i-count;
                buffer[j]=s1;
            }
            else
            {
                count++;
            }
        }
        str2=String.valueOf(buffer);
        System.out.println(str2);
    }

}