首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从句子列表中删除选定的标点符号

从句子列表中删除选定的标点符号
EN

Stack Overflow用户
提问于 2014-02-07 04:20:06
回答 1查看 125关注 0票数 0

我有一个句子清单如下:

[不,第二主4 a交叉,uas布局,靠近甘尼萨寺/ bsnl交换,sanjaynagar,班加罗尔“,

‘格里哈拉克希米公寓公寓,南端路巴萨万古迪班加罗尔-560004。opp adiyar ananda bhavan在c‘南部,

“srinivas pg acomudation ;opp to宇宙商城brooke field”,

“皇家棕榈2号交叉,l b sastry nagar bangalore”

‘bmp ho名称: grija \krishnappa花园.technologi公园cv ramanagar']

除…以外,我需要删除所有标点符号。我使用string.punctuation删除所有

代码语言:javascript
复制
def punc(x):
    predicate = lambda y:y not in string.punctuation
    out = filter(predicate,x)
    return out
data = data.apply(punc)

这个移除了一切..。要删除选定的ones..plz帮助

当.apply()是dataframe的一部分时,我使用了它。现在我把它转换成一个列表。因此,请重新推荐一种处理列表对象中异常标点符号的技术。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-07 04:32:46

尝尝这个

代码语言:javascript
复制
def punc(x):
    predicate = lambda y:y not in ''.join(c for c in string.punctuation if c not in ',/')
    out = filter(predicate,x)
    return out

另外,反对使用()。

当介词在字符串中时移除。

代码语言:javascript
复制
def punc(x):
    predicate = lambda y:y not in ''.join(c for c in string.punctuation if c not in './')
    prepositions = ['a', 'in']  #define by yourself
    if any(p in x.split() for p in prepositions):
        return filter(predicate,x)
    return x
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21619267

复制
相关文章

相似问题

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