如何删除“。”和字符串中的“-”?

时间:2019-03-25 15:02:01

标签: python

我正在尝试从网站复制字符串并将其粘贴到另一个程序中。但是我首先必须删除“。”和字符串中的“-”。例如是“ 123.345.322.22-00”,但我需要是“ 1233453222200”。

我尝试使用replace()以及replace和join()。是python 3.7.2

#copy number
pg.moveTo(238,419)

pg.click(238,419,clicks=3)
pg.hotkey('ctrl','c')

cep = pyperclip.paste()

print(cep)



cepnovo= [cep.split(".").join("")]


print(cepnovo)

我得到AttributeError: 'list' object has no attribute 'join'

实际结果AttributeError: 'list' object has no attribute 'join'

预期将输出不包含".""-"的字符串。

5 个答案:

答案 0 :(得分:5)

您说您尝试过replace,但是无法给出会发生什么的信息。因为这有效:

>>> "123.45-6".replace(".", "").replace("-", "")
'123456'

答案 1 :(得分:0)

vmmap -v <pid>没有list方法,字符串有

您可以使用以下解决方法:(如果您热衷于使用joinsplit

join

始终查看有关每种数据类型提供哪些方法的文档...它们可能因语言而异

答案 2 :(得分:0)

您获得的异常是自描述的。尝试以下行:

cepnovo= "".join(cep.split("."))

如果您只想获取数字符号,而不是删除其他符号,则可以尝试查找数字符号

import re

text = "4332.24324.blablabl.45353-fewfe-32232"
print("".join(re.findall(r"\d+", text)))

答案 3 :(得分:0)

您可以尝试列表理解并加入

str = '123.345.322.22-00'
result = ''.join([x for x in str if x not in ['.', '-']])

答案 4 :(得分:-1)

如果您确定要解析字符串,这听起来像是正则表达式的工作。由import re使用它,它应该消除所有的点和破折号,并以任何内容代替。

new_cep = re.sub('[.-]', '', cep)