Я не могу посчитать соответствующую строку из другой строки - PullRequest
0 голосов
/ 06 июля 2019
String s1 = "aabbccaa";
String s2 = "aa";

Мне нужно посчитать, сколько раз s2 повторяется в s1.Я попытался разделить текст без удачи.Может кто-нибудь помочь?

    String s1 ="aabbccaa";
    String s2 = "aa";
    int count = 0;
    for(int i = 0; i < s1.length(); i++) {
        for(int j = 0; j < s2.length(); j++) {
            if(s1.charAt(i) == s2.charAt(j)) {
                count++;
            }
        }

    }
    System.out.println(count);
    }
}

Ответы [ 3 ]

0 голосов
/ 06 июля 2019

Я использую Regex. Не уверен, что это то, что вы хотите Создайте партнера из входа s2 и сопоставьте его с s1. Match создаст список соответствия и посчитает его, который является ответом.

    public int countString(String s1, String s2) {
        Pattern pattern = Pattern.compile(s2);
        Matcher matcher = pattern.matcher(s1);

        int count = 0;

        while (matcher.find()) {
            count++;
        }

        return count;
    }

Выход 2

0 голосов
/ 06 июля 2019
public class Solution {

public static void main(String[] args) {
    String s1 ="aabbccaassssASaatestaa";
    String s2 = "aa";
    // split the string S1 by  s2 
    String a[] = s1.split(s2); 


    //Output will be 4 - because 'aa' 4 times in s1
    System.out.println(a.length);
}
}

Output - 4

В случае перекрытия вы можете использовать 'matcher', чтобы получить количество совпадающих строк в другом.https://www.tutorialspoint.com/javaregex/javaregex_matcher_replaceall.htm

 String s1 ="aaaassssaassaass";
    String s2 = "aa";

   Pattern pattern =Pattern.compile(s2);
   Matcher matcher = pattern.matcher(s1); 
    int i = 0;
    while(matcher.find()){
        i++;
    }
    //Out put will be 4
    System.out.println(i);

Рабочая демоверсия

0 голосов
/ 06 июля 2019

Вы можете использовать метод indexOf.

String indexOf (String str): этот метод возвращает индекс в этой строке первого вхождения указанной подстроки.Если это не встречается в качестве подстроки, возвращается -1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...