如何从字符串中的特定单词提取文本?

2024-05-15 01:29:13 发布

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

所以我试图从这个字符串中只提取地址,但是遇到了问题。字符串如下所示:

1040 S. Vintage Ave.
Building A Ontario, CA 91761
United States Phone: 9099725134 Fax: 9099065401

Web: http://www.aareninc.com

我只想提取单词'Phone'之前的文本,所以只提取地址。在

我尝试过使用strip('Phone'),然后获取数组的第一个元素,但它给出了该字符串的第一个字母。在

^{pr2}$

Tags: 字符串webhttp地址wwwphonecaunited
3条回答

对于这个任务,您可以使用所谓的zero-length assertion(在本例中为正向展望)

import re
text = '''1040 S. Vintage Ave.
Building A Ontario, CA 91761
United States Phone: 9099725134 Fax: 9099065401 

Web: http://www.aareninc.com'''
adress = re.findall('.*(?=Phone)',text,re.DOTALL)[0]
print(adress)

输出

^{pr2}$

请注意,如果text不包含Phone子字符串,则会导致错误。注意re.DOTALL标志,因此.也匹配换行符(/n),没有该标志输出将是Unites States。在

考虑到你身上有这样的东西

st = '1040 S. Vintage Ave.Building A Ontario, CA 91761 United States Phone: 9099725134 Fax: 9099065401 Web: http://www.aareninc.com'

v = st.split("Phone"))
print(v[0])

这对Python3是有效的。 如果使用Python2,则可以避免在print语句中使用括号。在

使用拆分功能,而不是剥离。在

address = contacts.split('Phone')
print(address[0]) 

这应该行得通。在

相关问题 更多 >

    热门问题