发现没有。以聪明的方式在另一个String中出现String的情况

时间:2018-04-10 13:17:18

标签: java string split

经过大量研究后,我坚持这个问题。我想找到不。在另一个String中出现String但需要非常聪明的方法。

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);

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

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;
}