首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用regex过滤字符串?

如何使用regex过滤字符串?
EN

Stack Overflow用户
提问于 2021-12-10 10:04:13
回答 1查看 103关注 0票数 -1

我有一个字符串列表,我必须在python中进行筛选。

代码语言:javascript
复制
list=["पत्ता स नं Himanshu अष्टविनायक Address: sr no94/1B/1/2/3",
       "चाळ, जय foo boo, बस स्टोप जवळ, ashatvinayak chal, jay bhavani",
       "पिंपळे गुरव, पुणे, महाराष्ट्र, 411027 nagar, near bus stop, Pimple",
       "Gurav, Pune, Maharashtra,",
       "411027",
       "www"]

我要欲望输出

代码语言:javascript
复制
list=["Address: sr no94/1B/1/2/3",
      "ashatvinayak chal, jay bhavani",
      "411027 nagar, near bus stop, Pimple",
      "Gurav, Pune, Maharashtra,"
      "411027",
      "www"]

我的代码

代码语言:javascript
复制
regex = re.compile("[^a-zA-Z0-9!@#$&()\\-`.+,/\"]+")
for i in list:
   print(" ".join(regex.sub(' ', i).split()))

我的输出

代码语言:javascript
复制
Himanshu Address sr no94/1B/1/2/3
, foo boo, , ashatvinayak chal, jay bhavani
, , , 411027 nagar, near bus stop, Pimple
Gurav, Pune, Maharashtra,
411027
www

我想删除喜曼苏,如果它是非英语字符(如:पत्तासनं喜曼舒अष्टविनायक)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-10 10:39:49

尝试使用以下代码:

代码语言:javascript
复制
import re
list = ["पत्ता स नं Himanshu अष्टविनायक Address: sr no94/1B/1/2/3",
        "चाळ, जय foo boo, बस स्टोप जवळ, ashatvinayak chal, jay bhavani",
        "पिंपळे गुरव, पुणे, महाराष्ट्र, 411027 nagar, near bus stop, Pimple",
        "पिं Gurav, Pune, Maharashtra,",
        "411027",
        "www"]
list2 = []
pattern = "[^a-zA-Z0-9!@\s:#$&()\\-`.+,/\"]+[, ]*(?!.*[^a-zA-Z0-9!@\s:#$&()\\-`.+,/\"]+[, ]*)"
for i in list:
    st = re.findall(pattern,i)
    if st:
        list2.append(i[i.index(st[0])+len(st[0]):])
    else:
        list2.append(i)
print(list2)

产出:

['Address: sr no94/1B/1/2/3', 'ashatvinayak chal, jay bhavani', '411027 nagar, near bus stop, Pimple', 'Gurav, Pune, Maharashtra,', '411027', 'www']

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70302759

复制
相关文章

相似问题

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