首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置正则表达式以提取python中的字符串

如何设置正则表达式以提取python中的字符串
EN

Stack Overflow用户
提问于 2017-02-23 07:44:37
回答 3查看 57关注 0票数 1

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

代码语言:javascript
复制
'The Five College Region of Western Massachusetts:'
#Doesn't contain "("

第二种类型:

代码语言:javascript
复制
'Tuskegee (Tuskegee University)[5]'
#Containing "("

如果字符串包含"(",请删除“(”后的所有字符和“(”前的空格。如果不是,则提取所有字符。

我已经弄清楚了如何提取第二种类型的字符串。

代码语言:javascript
复制
r'(.+) \('
EN

回答 3

Stack Overflow用户

发布于 2017-02-23 07:50:33

为此,您不需要正则表达式。

代码语言:javascript
复制
university = 'Tuskegee (Tuskegee University)[5]'
print(university.split("(", 1)[0].strip())
票数 1
EN

Stack Overflow用户

发布于 2017-02-23 07:52:49

如果要使用正则表达式,请使用re.sub删除(之后的所有内容:

代码语言:javascript
复制
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:'
票数 0
EN

Stack Overflow用户

发布于 2017-02-23 07:56:43

您可以使用正则表达式re.sub('\s*\(.*',..)来匹配空格和"(“。如果匹配,它将用空字符串替换它。如果没有,则不会替换任何内容。

代码语言:javascript
复制
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'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42404444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档