I'm working with a list of objects ("Section") that contains a string value among other fields. The strings in all of the sections can be concatenated to form the complete text. I am, however, wanting to implement a method that searches for a specific (given) value and returns the Section object(s) it found the value in. There are however two different scenarios as described below.
Value: restaurant
Scenario 1
"John went to the restaurant to pick " ✔️
"up the food he ordered online before "
"he went to his mother's house."
Current behaviour: Found in Section 1
Desired behaviour: Found in Section 1
Scenario 2
"John went to the restaura"
"nt to pick up the food he ord"
"ered online before he went to his mother's house."
Current behaviour: Couldn't find the value
Desired behaviour: Found in list(Section 1, Section 2)
Scenario 1 is easily solved as the value is found completely in section 1. In the 2nd scenario, the value is never found as it is split up between sections. I have written an algorithm that tries to stitch these sections together. It appears to work when the given value is simple e.g., "car" or "boat". I'm having troubles with compound strings such as "the supermarket" or "a green flower". I wrote the code a couple of months ago and tried debugging it, but even I fail to understand my own code here.
I deliberately left my code out of this post as it has rough hardcoded rules and has extreme levels of code complexity. I'd like to rethink the algorithm without looking at the current one to refrain from blatantly copying sections of the existing code.
The code is written in Java in case anyone knows some handy Java functions that might help.