So, you have two items:
The first one has the following lore:
The second one has the following:
And you want to know in which line "today" is, right?
So, after executing the code, the first item would return that today is on line 3, and the second one, that it's on line 2.
...Correct? Is that what you want?
You can split code using the following syntax:
code_language.skript:
set %variable% to %text% split at %text%
For example,
code_language.skript:
set {_split::*} to "lore line 1||lore line 2||lore line 3" split at "||"
I'm not sure how this works if the delimiter is present more than once.
If it's consistent, it will create {_split::1} with the text "lore line 1", {_split::2} with the text "lore line 2", and {_split::3} with the text "lore line 3".
Assuming it works this way, as i have no clue if it's the case (can't access a mc server with Skript right now), the code would be as it follows:
code_language.skript:
#{_item} contains the item whose lore you want to check
set {_split::*} to lore of {_item} split at "||"
set {_found} to false
loop {_split::*}:
"%loop-value%" contains "today"
set {_found} to "%loop-index%"
stop loop
{_found} is false:
message "The string 'today' was not found on the item's lore."
stop
message "The text 'today' was found on the line %{_found}%"