经过大量研究后,我陷入了这个问题。我想找到没有。字符串在另一个字符串中出现的次数,但需要非常聪明的方法。
a = "ASAD" str = "ASADASAD" expect output:2
b = "AAA" str2 = "AAAAAAAAAA" expect output:8
例如,考虑这两个字符串。在第一行,“a”在“str”中出现了两次,而在第二行,如果您看到 b 的整个组合在 str2 中出现了 8 次。如何在同一代码中同时解决这两个挑战。我已经分别对这两个场景进行了编码,但我想以一种智能的方式进行编码,以便一个代码可以处理输入字符串的所有可能组合。这是我的代码。
对于情况 1
Type1 = (LongString.split(SmallStr, -1).length-1);
对于案例 2
while (Index < SmallStr.length())
{
String tester = LongString.substring(Index);
Counter = (tester.split(SmallStr,-1).length-1);
ans= Counter + ans;
lastIndex ++;
}
System.out.println(ans);
最佳答案
你可以尝试这样的事情:
String myString = "ASADASAD"; // or "AAAAAAAAAA"
String stringToFind = "ASAD"; // or "AAA"
int offset = 0;
int count = 0;
while (offset < myString.length())
{
int index = myString.indexOf(stringToFind, offset);
if (index < 0)
break;
count++;
offset = index + 1;
}
关于java - 发现没有。以智能方式计算字符串在另一个字符串中的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49754706/