我有这样的字符串:
a = "currency is like gbp"
a= "currency blah blah euro"
a= "currency is equivalent to usd" .....
无论在哪里找到“ gbp”,“ euro”或“ usd”中的任何一个,我都想对上面的字符串进行子字符串化或切片。
不起作用:
i = a.find("gbp") or a.find("euro") or a.find("usd")
a = a[i:]
可以做到:
x = a.find('gbp')
y = a.find('euro')
z = a.find('usd')
但是然后我需要检查其中哪个大于-1,并使用该变量对字符串进行切片,这将是太多的代码。
此外,在我最初的示例中,我有10多种货币,因此需要一种可扩展的解决方案。
摘要:
想从找到的所有单词中切开/细分主句
答案 0 :(得分:1)
您可以尝试以下方法:
currency_array = ['gbp', 'euro', 'usd']
index = max(a.find(currency) for currency in currency_array)
print(a[index:])
答案 1 :(得分:1)
将正则表达式用于此类目的:
import re
a = "currency is like gbp currency"
print(re.findall(r'((?:gbp|euro|usd).*)', a))
# ['gbp currency']