Вы можете использовать:
public static int NumTimesInString(String target, String regex)
{
return (" " + target + " ").split(regex).length - 1;
}
Это будет работать до тех пор, пока регулярное выражение не совпадает с начальным или конечным пробелом ... Хм, это может не работать в некоторых случаях.Возможно, вам лучше написать функцию, которая использует indexOf
public static int NumTimesInString(String target, String substr)
{
int index = 0;
int count = -1;
while (index != -1)
{
index = target.indexOf(substr, index);
count++;
}
return count;
}
ПРИМЕЧАНИЕ: не проверено
Любой из них можно использовать как:
int count = NumTimesInString("hello world hello foo bar hello", "hello");
// count is 3