Here is the list1
, string
and the list2
should be
list1 = ["NORTH", "SOUTH", "EAST", "WEST"]
and
string = NORTHSOUTHWESTEASTWEST
I want
list2 = ["NORTH", "SOUTH", "WEST", "EAST", "WEST"]
Here is the list1
, string
and the list2
should be
list1 = ["NORTH", "SOUTH", "EAST", "WEST"]
and
string = NORTHSOUTHWESTEASTWEST
I want
list2 = ["NORTH", "SOUTH", "WEST", "EAST", "WEST"]
With regexp matching (via combining list1
items to regex pattern):
import re
list1 = ["NORTH", "SOUTH", "EAST", "WEST"]
string = 'NORTHSOUTHWESTEASTWEST'
res = re.findall(fr'{"|".join(list1)}', string)
print(res)
['NORTH', 'SOUTH', 'WEST', 'EAST', 'WEST']
You can use regular expressions.
For example:
import re
list1 = ["NORTH", "SOUTH", "EAST", "WEST"]
s = "NORTHSOUTHWESTEASTWEST"
pattern = re.compile("(" + r"|".join(list1) + ")" )
print( pattern.findall(s))
Output:
['NORTH', 'SOUTH', 'WEST', 'EAST', 'WEST']