如何检查字符串是否包含Java中另一个字符串中的字符?

时间:2017-09-11 21:07:59

标签: java string character

我正在使用Java 8.假设我分别有两个字符串a=helloworldb=howareyou。我想找出String a中String b的匹配字符及其在b中的位置。在我的示例中,匹配字符为heowrr是字符串b中的第5个字符。我不想找到它是否是子串。我只是想检查一个字符串的字符是否存在于另一个字符串中。有没有办法做到这一点?下面是我的Java代码。

public class CharCheck {
public static void main(String[] args) {
    String a = "helloworld";
    String b = "howareyou";

    char st = containsAny(a, b);

    System.out.println(st+", ");
}

private static char containsAny(String str1, String str2) {
    if (str1 == null || str1.length() == 0 || str2 == null || str2.length() == 0) {
        if (str1 == null || str1.length() == 0) {
            return 'X';
        }
    }
    for (int i = 0; i < str1.length(); i++) {
        char ch = str1.charAt(i);
        for (int j = 0; j < str2.length(); j++) {
            if (str2.charAt(i) == ch) {
                return ch;
            }
        }
    }
    return 'X';
   }
}

1 个答案:

答案 0 :(得分:1)

我不打算为你实施解决方案,但我会给你pusedocode。

for each letter1 in String1 
     for each letter2 in String2 
          if letter1 is letter2 then print its position 

所以你知道你需要一个嵌套的for循环和一个比较,如果你想要独特的重复,它会变得有点复杂,但我会把剩下的留给你