如何设置正则表达式以在python中提取字符串
字符串有两种类型。 第一类:如何设置正则表达式以在python中提取字符串,python,regex,Python,Regex,字符串有两种类型。 第一类: 'The Five College Region of Western Massachusetts:' #Doesn't contain "(" 第二类: 'Tuskegee (Tuskegee University)[5]' #Containing "(" 如果字符串包含“(”,请删除“(”之后的所有字符以及“(”之前的空白。 如果不是,则提取所有字符 我已经研究出如何提取第二种类型的字符串 r'(.+) \(' 你不需要正则表达式 university =
'The Five College Region of Western Massachusetts:'
#Doesn't contain "("
第二类:
'Tuskegee (Tuskegee University)[5]'
#Containing "("
如果字符串包含“(”,请删除“(”之后的所有字符以及“(”之前的空白。
如果不是,则提取所有字符
我已经研究出如何提取第二种类型的字符串
r'(.+) \('
你不需要正则表达式
university = 'Tuskegee (Tuskegee University)[5]'
print(university.split("(", 1)[0].strip())
使用
re.sub
删除之后的所有内容(
如果要使用正则表达式:
import re
re.sub(r' \(.*', '', 'Tuskegee (Tuskegee University)[5]')
# 'Tuskegee'
re.sub(r' \(.*', '', 'The Five College Region of Western Massachusetts:')
# 'The Five College Region of Western Massachusetts:'
您可以使用regex
re.sub('\s*\(.*',…)
来匹配空格加上“(”。
如果匹配,它将用空字符串替换。如果不匹配,则不替换任何内容
import re
re.sub('\s*\(.*', '', 'The Five College Region of Western Massachusetts:')
#'The Five College Region of Western Massachusetts:'
re.sub('\s*\(.*', '', 'Tuskegee (Tuskegee University)[5]')
#'Tuskegee'