java - 发现没有。以智能方式计算字符串在另一个字符串中的出现次数

标签 java string split

经过大量研究后,我陷入了这个问题。我想找到没有。字符串在另一个字符串中出现的次数,但需要非常聪明的方法。

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/

相关文章:

java - 向玩家数组列表发一张牌

java - getResource返回NullPointerException

java - 在文件名中使用 .txt 时抛出异常

python - 这行代码中的[0]是什么意思?

c++ - 在 C++ 中使用 istringstream 进行字符串到双重转换的意外结果

Python - 将许多小的txt文件拆分成一个数据结构以输入mysql

java - 分解代码,唯一的区别是流减少操作

正则表达式仅允许文本字段中的某些字符或空字符串

java - 用java解析文件

python - 在python pandas数据框中修复City,State,Zip数据