朋友。 我在我的python应用程序中有这个代码:
if '(' in obj.value or ')' in obj.value:
city, country = obj.value.upper()[:-1].split('(')
found = city.strip() == self.customer.city.upper() and country == self.customer.country.upper()
else:
city = obj.value.upper()
found = city.strip() == self.customer.city.upper()
可以使用以下可能值的文本字符串:
'纽约'或'纽约(纽约)'
但问题是下面的代码不能保证可能的错误,例如,缺少其中一个括号。例如
'纽约纽约)'
如何改善和保护这个小片段? 例如,Regex中有一个公式? (我知道一些正则表达式)
答案 0 :(得分:2)
import re
m = re.match('(.+) \((.+)\)', obj.value)
if m:
city, country = m.groups()
else:
city, country = obj.value, None