如何在python中设置regex来提取字符串

2024-04-19 13:35:56 发布

您现在位置:Python中文网/ 问答频道 /正文

字符串有两种类型。 第一种类型:

'The Five College Region of Western Massachusetts:'
#Doesn't contain "("

第二种类型:

'Tuskegee (Tuskegee University)[5]'
#Containing "("

如果字符串包含“(”,请删除“(”之后的所有字符和“(”之前的空白。 如果不是,则提取所有字符。你知道吗

我已经讨论了如何提取第二类字符串。你知道吗

r'(.+) \('

Tags: ofthe字符串类型字符regionfivecontaining
3条回答

您可以使用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'

你不需要正则表达式。你知道吗

university = 'Tuskegee (Tuskegee University)[5]'
print(university.split("(", 1)[0].strip())

如果要使用regex,请使用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:'

相关问题 更多 >