python如何删除文本中连续的标点符号啊?

如:'开开心心,,,,上上。。。好好的!!'最后变成:‘开开心心,上上。好好的!’... 如:'开开心心,,,,上上。。。好好的!!'最后变成:‘开开心心,上上。好好的!’ 展开
 我来答
xiangnanscu
2013-12-22 · TA获得超过852个赞
知道小有建树答主
回答量:318
采纳率:0%
帮助的人:331万
展开全部
def get_solo(text):
    duels=[x+x for x in list('。,!')]
    #如需增加标点符号,比如问号,直接将list('。,!')换成list('。,!?')即可.
    for d in duels:
        while d in text:
            text=text.replace(d,d[0])
    return text

if __name__=='__main__':
    text='开开心心,,,,上上。。。好好的!!'
    print(get_solo(text))

结果:

>>> 
开开心心,上上。好好的!
tim_spac
推荐于2016-04-29 · TA获得超过3628个赞
知道大有可为答主
回答量:1804
采纳率:100%
帮助的人:2006万
展开全部
#!/usr/bin/env python
# coding: utf-8
#
# filename: baidu.py
# date: Dec., 2013

sybmchr = set([u',', u'。',  u'!'])

context = u'开开心心,,,,上上。。。好好的!!'

ostr, remmind = u'', u''
for c in context:
    if c in sybmchr:
        if remmind==c:
            continue
        else:
            remmind = c
    ostr += c
    
print ostr.encode("utf-8")
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
quanpower
2013-12-22 · TA获得超过149个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:115万
展开全部
先转成unicode,然后判断每个字符是不是标点,如果是,判断后面一个字符是不是,两个条件都满足就把后面的删掉吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式