Java方法,接受两个字符串作为参数,并返回第一个字符串,删除第二个字符串的所有实例

时间:2013-03-30 02:42:09

标签: bluej

我需要创建一个方法,正如标题所说,接受两个字符串作为参数,接受第一个字符串,并删除第二个字符串中的任何字母。

离。 (“你今天过得怎么样”,“嘿”)

将返回“ow ar ou doing toda”

我有这个

    while(counter < length){
        String letter = phrase.substring(counter, counter+1);
        if(!letter.equals(second)){
            filtered = filtered + letter;
        }
        counter++;
    }

如果它只是一个字母,那么它是有效的。我无法弄清楚如何使用第二个字符串中的多个字母使其工作。

我不能使用替换或数组。

2 个答案:

答案 0 :(得分:1)

这是伪代码的一种方法:

assign 1:st string to resultString

for each letter in 2:nd string
    delete instances of that letter in resultString
    by means of methods indexOf, substring and contains

答案 1 :(得分:1)

这是你可以使用的东西(可能有其他方式):

public static void main(String[] args) {

    System.out.println(customStr("How are you doing today", "hey"));
}

public static String customStr(final String base, final String remove){
    String baseCopy = base.trim();
    String removeCopy = remove.trim();

    // Delete all uppercase & lowercase letters using a regex [HEYhey]
    baseCopy = base.replaceAll("[" + removeCopy.toUpperCase(Locale.ENGLISH) 
            + removeCopy.toLowerCase(Locale.ENGLISH) + "]", "");

    return baseCopy;
}

输出

  

ow ar ou do toda