I have a string (Str) with phrases separated by a character (let's define it as "%" for simple understanding). I want to search for phrases in this string (Str) that contains a word (like "dog") and put that phrase in a new string
I was wondering of a good/great way to do it.
Str is the String on which I'm going to search, "Dog" is the word I'm searching for and %
is the line separator.
I already have the reader, the parser and how to save that file. I would appreciate if someone finds me an easy way to search. I can do it but I think it would be too complex meanwhile the actual solution is very easy.
I had thought about searching for the lastIndexOf("dog")
and searching for the "%" in the substring of Str(0, lastIndexOf("dog")
and then the second % to get the line I am searching for.
P.S: There may be two "dog" in Str and I would like to have all the lines where is showed the word "dog"
Example:
Str = " Where is my dog, john ? % your dog is on the table % really thanks john % you're welcome % Have a nice dog"
Output expected:
Where is my dog, john ? // your dog is on the table // Have a nice dog"
You can use:
String str = "Where is my dog, john ? % your dog is on the table % really thanks john " +
"% you're welcome % Have a nice dog";
String dogString = Arrays.stream(str.split("%")) // String[]
.filter(s -> s.contains("dog")) // check if each string has dog
.collect(Collectors.joining("//")); // collect to one string
which gives:
Where is my dog, john ? // your dog is on the table // Have a nice dog
%
//
.