【问题标题】:How to check if a string contains the characters from another string in Java? [duplicate]如何检查一个字符串是否包含Java中另一个字符串中的字符? [复制]
【发布时间】:2017-09-11 21:07:58
【问题描述】:

我正在使用 Java 8。假设我分别有两个字符串 a=helloworldb=howareyou。我想从字符串 a 中找出字符串 b 的匹配字符以及它们在 b 中的位置。在我的示例中,匹配的字符是 h,e,o,w,rr 是字符串 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';
   }
}

【问题讨论】:

  • 你自己有没有尝试过?
  • 所以你基本上是想找出String2中的哪些字符包含在String1中?你试过什么?
  • @CedricMartens:语言错误。这是 Java,那个问题是关于 Javascript 的。
  • @HovercraftFullOfEels 我已经编辑了我的问题。请仔细阅读。我的问题与其他问题不同。
  • @CedricMartens 我的问题是关于java 语言而不是寻找子字符串。

标签: java string character


【解决方案1】:

我不会为你实施解决方案,但我会给你 pusdocode。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-13
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 2014-07-24
    相关资源
    最近更新 更多