确定字符串是否包含子字符串

时间:2015-08-26 22:10:15

标签: java string

我想知道如果字符串A中包含字符串B而不会破坏整个字符串,我怎么能找到;还发现它使用循环重复多少次。顺便说一下,它不必区分大小写。例如:

public static void main(String[] args) {      
    String st = abababajjjabababb;
    String aba = null;
    String st2 = aba;
    int i = 0;
    char ch = st.charAt(i);
    int j;
    for (j = 0;j < st2.length();j = j + 1){
        for (int k = 0; k < st.length(); k = k + 1){
            if(ch == st.charAt(j)) {
                break;
            }
        }
        if(j == st2.length()) {

        }
    }
    System.out.println("the letters in s1 dont repeat in s2");

}

我知道如何在st2中找到st是否会重复,但我不知道如何编程以告诉我它重复了多少次。

谢谢!我得到了答案,我完成了这个程序,感谢所有提出建议的人。

2 个答案:

答案 0 :(得分:2)

我知道如何查找st2是否重复,但我不知道如何编程以告诉我它重复了多少次。

您可以删除所有出现的子字符串,然后除以子字符串的长度以获取出现的次数。

String st = "abababajjjabababb";
String st2 = "aba";

int intOccurrences = (st.length() - st.replace(st2, "").length()) / st2.length();

Haven没有使用Java,所以我有点生疏。

对于您的示例,这将返回:

(17 - 8) / 3
= 3 occurrences

答案 1 :(得分:2)

您可以使用计数来计算它重复的次数。只需将count声明为int。每次进入循环时都要计算++;