Approach 1: Using indexOf method
public int indexOf(String str, int fromIndex)
Return the index of the first occurrence of the specified substring, starting at the specified index, or -1 if there is no such occurrence.
AllTheOccurrencesOfSubstring.java
package com.sample.app.strings;
public class AllTheOccurrencesOfSubstring {
private static void printAllOccurrences(String str, String subStr) {
int startIndex = -1;
while((startIndex = str.indexOf(subStr, startIndex+1)) != -1) {
System.out.println("index -> " + startIndex);
}
}
public static void main(String args[]) {
String str = "abrakadabra";
printAllOccurrences(str, "ab");
}
}
Output
index -> 0 index -> 7
Approach 2: Using regular expressions.
AllTheOccurrencesOfSubstring1.java
package com.sample.app.strings;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class AllTheOccurrencesOfSubstring1 {
private static void printAllOccurrences(String str, String subStr) {
Pattern word = Pattern.compile(subStr);
Matcher match = word.matcher(str);
while (match.find()) {
System.out.println("index -> " + match.start());
}
}
public static void main(String args[]) {
String str = "abrakadabra";
printAllOccurrences(str, "ab");
}
}
Output
index -> 0 index -> 7
You may like
How method overloading works with null values in Java?
Java: How to find maximum element in a collection?
Java: How to find the minimum element in a collection?
No comments:
Post a Comment