If you have any query feel free to chat us!
Happy Coding! Happy Learning!
Pattern searching is a common problem in computer science where you need to find occurrences of a given pattern (a substring) within a larger text (a string). Java provides various methods and libraries to perform pattern searching efficiently. One of the popular methods is using the indexOf()
method of the String
class.
Here's an example of how to perform pattern searching using the indexOf()
method in Java:
javaCopy code
public class PatternSearchExample {
public static void main(String[] args) {
String text = "AABAACAADAABAABA";
String pattern = "AABA";
int index = text.indexOf(pattern);
while (index != -1) {
System.out.println("Pattern found at index: " + index);
index = text.indexOf(pattern, index + 1);
}
}
}
In this example, we have a text
string and a pattern
string. We use the indexOf()
method of the String
class to find the first occurrence of the pattern
in the text
. The indexOf()
method returns the starting index of the first occurrence of the specified substring, or -1 if the substring is not found.
If the pattern
is found at a particular index, we print the index and then search for the next occurrence of the pattern
by calling indexOf()
again, passing the starting index of the last occurrence plus 1 as the second argument. This way, we continue searching for all occurrences of the pattern
in the text
until indexOf()
returns -1, indicating that no more occurrences are found.
Output:
mathematicaCopy code
Pattern found at index: 0
Pattern found at index: 9
Pattern found at index: 12
In this example, the pattern "AABA" is found at index 0, 9, and 12 in the text "AABAACAADAABAABA".
Note that there are other advanced methods and algorithms for pattern searching, such as using regular expressions, the Boyer-Moore algorithm, or the Knuth-Morris-Pratt algorithm, which offer better performance for larger texts and complex patterns. However, the indexOf()
method is simple and sufficient for basic pattern searching needs in Java.
Comments: 0