为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕妹3242003 2019-05-23 19:15:20
python如何删除文本中连续的标点符号啊?
查看完整描述

4 回答

?
富国沪深

TA贡献1790条经验 获得超9个赞

1

2

3

4

5

6

7

8

9

10

11

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))

结果:

1

2

>>> 

开开心心,上上。好好的!


查看完整回答
反对 回复 2019-05-27
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

先转成unicode,然后判断每个字符是不是标点,如果是,判断后面一个字符是不是,两个条件都满足就把后面的删掉吧

查看完整回答
反对 回复 2019-05-27
?
月关宝盒

TA贡献1772条经验 获得超5个赞

在Python中,可以用Indexing办法访问String的各个字符,以访问String中的一系列字符,使用切片办法。使用切片运算符(冒号)完成字符串切片。索引允许负地址引用访问字符串后面的字符,例如-1表示最后一个字符,-2表示第二个字符,依此类推。

访问范围之外的索引将导致IndexError。只允许将整数作为索引传递,float或其他类型将导致TypeError。

# Python Program to Access

# characters of String


String1 = "GeeksForGeeks"

print("Initial String: ")

print(String1)


# Printing First character

print("\nFirst character of String is: ")

print(String1[0])


# Printing Last character

print("\nLast character of String is: ")

print(String1[-1])


# Printing 3rd to 12th character

print("\nSlicing characters from 3-12: ")

print(String1[3:12])


# Printing characters between

# 3rd and 2nd last character

print("\nSlicing characters between " +

"3rd and 2nd last character: ")

print(String1[3:-2])


查看完整回答
反对 回复 2019-05-27
  • 4 回答
  • 0 关注
  • 1832 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信