https://github.com/aditishenoy35/string-matcher-gui
A Java Swing GUI application implementing Brute Force and Horspool string matching algorithms for pattern searching and replacement within text files.
https://github.com/aditishenoy35/string-matcher-gui
java java-swing
Last synced: over 1 year ago
JSON representation
A Java Swing GUI application implementing Brute Force and Horspool string matching algorithms for pattern searching and replacement within text files.
- Host: GitHub
- URL: https://github.com/aditishenoy35/string-matcher-gui
- Owner: aditishenoy35
- Created: 2024-11-07T13:49:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-07T15:09:50.000Z (over 1 year ago)
- Last Synced: 2025-02-01T04:24:21.769Z (over 1 year ago)
- Topics: java, java-swing
- Language: Java
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# String-Matcher-GUI
A Java-based application that demonstrates the Brute Force and Horspool string matching algorithms in a user-friendly graphical interface. This tool allows users to load a text file, search for a specified pattern, and replace it with a new string. The GUI application is built using Java Swing, and it provides a detailed view of the matching process step-by-step.
## Features
- **File Loading**: Load a text file for pattern searching and replacement.
- **Pattern Searching**:
- **Brute Force Algorithm**: Implements the basic brute-force approach to find occurrences of a pattern in the text.
- **Horspool Algorithm**: Utilizes the optimized Horspool algorithm to improve search efficiency, especially on large texts.
- **Pattern Replacement**: Replaces all occurrences of a specified pattern with a new string and saves the updated content back to the file.
- **Process Display**: Shows step-by-step details of the matching and replacement processes, including intermediate steps and substring comparisons.
## Prerequisites
- **Java Development Kit (JDK)**: Version 8 or higher is required to compile and run this application.
- **IDE**: (Optional) Recommended to use an IDE like IntelliJ IDEA, Eclipse, or NetBeans for running and testing the application.