Вы можете сделать это, но цикл будет быстрее.
String text = "noisxxnotyynotxisinono";
String search = "no";
int count = text.split(search,-1).length-1;
System.out.println(Arrays.toString(text.split(search,-1)));
System.out.println("count= " + count);
печатает
[, isxx, tyy, txisi, , ]
count= 5
Как видите, это правильно, если текст начинается или заканчивается поискомзначение.Аргумент -1 останавливает его, удаляя завершающие разделители.
Вы можете использовать цикл с indexOf (), который более эффективен, но не так прост.
Кстати: Java 5.0 была EOL с августа2007. Возможно, пришло время взглянуть на Java 6. (хотя документы очень похожи)