Python 3.x 在Python中使用正则表达式从大字符串中剥离
我需要从字符串中提取一个字符模式,并将该字符串用作文件名 问题: 有问题的字符串是 Algoxasx(AGC)雄猫空心(BAA)大胖子(BGI)大王位置(BAU)MEP Ezay(EYI)东边界(EYUS)萨沙班克斯(ME)大峡谷(GCP) 背景: 上面的字符串是通过使用Beautiful Soup解析网站以及Python得到的,Python使用类和属性以及html解析器是一个更容易的部分。请原谅,代码不能全部发布,因为它是我学校的一个研究项目,拥有代码的版权 目标: 我想去掉上面的字符串(AGC),(BGI),(BAU),(EYI)。。。。并且只提取Algoxasx Tomcat BIG-Fat BIG King Locatdion等。我想稍后以单独的方式使用这些提取的名称,比如说,如果下载了一个文件,将它们用作文件名来存储文件 到目前为止,我一直在尝试: 我使用正则表达式将上面(AGC)、(BAA)、(BGI)的strip作为一个列表,并使用replace方法(用空格替换)和strip方法以及正则表达式来提取字符串,而不包含大写字母。我还尝试使用split方法,但它拆分单个字母而不是单词Python 3.x 在Python中使用正则表达式从大字符串中剥离,python-3.x,web-scraping,beautifulsoup,Python 3.x,Web Scraping,Beautifulsoup,我需要从字符串中提取一个字符模式,并将该字符串用作文件名 问题: 有问题的字符串是 Algoxasx(AGC)雄猫空心(BAA)大胖子(BGI)大王位置(BAU)MEP Ezay(EYI)东边界(EYUS)萨沙班克斯(ME)大峡谷(GCP) 背景: 上面的字符串是通过使用Beautiful Soup解析网站以及Python得到的,Python使用类和属性以及html解析器是一个更容易的部分。请原谅,代码不能全部发布,因为它是我学校的一个研究项目,拥有代码的版权 目标: 我想去掉上面的字符串(AG
data1=required_data.find(class_='dropdown-menu select-pipe-dropdown-
menu',attrs={'id':'dropdown'}).get_text
r2=re.findall(r'\([^\)]*[A-Z]{2}[^\)]*\)',data1)
w=data1.replace(r2,'')
print(w)
data1方法包含整个字符串Algoxasx(AGC)Tomcat Empty Mind(BAA)BIG Fat(BGI)BIG King Location(BAU)MEP Ezay(EYI)East Borderline(EYUS)Sasha Banks(ME)Grand Canyon(GCP)
r2变量提取(AGC)、(BGI)、(BAU)、(EYI)作为列表
预期结果1:
Algoxasx雄猫空心大胖大王位置MEP Ezay东边界萨沙班克斯大峡谷
预期结果2:
单独分离上面的字符串,以便我可以在for循环中单独使用它们,例如Algoxasx、Tomcat Empty Mind、BIG Fat、BIG King Location、MEP Ezay East Borderline、Sasha Banks、Grand Canyon使用re.split()
可以根据正则表达式规则分割字符串:
s = '''
Algoxasx (AGC)Tomcat Empty Mind (BAA)BIG Fat (BGI)Big King Location (BAU)MEP Ezay (EYI)East Borderline (EYUS)Sasha Banks (ME)Grand Canyon (GCP)
'''
import re
from pprint import pprint
data = [d.strip() for d in re.split(r'\([A-Z]{2,}\)', s) if d.strip()]
pprint(data)
印刷品:
['Algoxasx',
'Tomcat Empty Mind',
'BIG Fat',
'Big King Location',
'MEP Ezay',
'East Borderline',
'Sasha Banks',
'Grand Canyon']
美好的谢谢你。什么是pprint?为什么需要它?@Akshay
pprint
代表漂亮的打印。您可以使用标准的打印。此处仅用于在nice列中打印值。