繁体   English   中英

我想使用 python 中的 strip() 和字符串理解方法从多行字符串中删除所有特殊字符

[英]I want to remove all special characters from a multi line string using strip() and string comprehension method in python

zenPython = ''' Python 的禅宗,作者 Tim Peters

美丽总比丑陋好。 显式优于隐式。 简单胜于复杂。 复杂胜于复杂。 平面比嵌套好。 稀疏比密集好。 可读性很重要。 特殊情况不足以打破规则。 虽然实用胜过纯洁。 错误永远不应该悄无声息地过去。 除非明确沉默。 面对模棱两可,拒绝猜测的诱惑。 应该有一种——最好只有一种——明显的方法来做到这一点。 虽然这种方式一开始可能并不明显,除非你是荷兰人。 现在总比没有好。 虽然从来没有比现在更好。 如果实现很难解释,那是个坏主意。 如果实现很容易解释,那可能是个好主意。 '''

words=[]
words= zenPython.split('.',',','*')
print(words)

你可以简单地使用words = zenPython.replace('.', '').replace(',', '').replace('-', '').split(' ')

strip() 方法只删除字符串的前导和尾随字符。

两种工作方式

  1. string 方法 - 创建一个包含所有特殊字符的表并将它们转换为空格,然后拆分。
table = {i:32 for i in range(1, 65)}
table.update({i:32 for i in range(91,97)})
table.update({i:32 for i in range(123,256)})
word_list = zenPython.translate(table).split()
  1. 正则表达式
import re
word_list = re.findall('[a-zA-Z]+', zenPython)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM