Python从字符串中删除所有标点符号,只打印包含“i”且长度等于或大于5个字符的单词

2024-09-28 23:44:50 发布

您现在位置:Python中文网/ 问答频道 /正文

testText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque nec mauris nec tellus mollis ullamcorper. Vestibulum sit amet arcu placerat, sagittis quam sed, rutrum sem. Morbi vulputate odio non lacus."
splitText = testText.split(" ")
print(splitText)
cleanedText = ''
for letter in testText:
    if letter in list('.,:;?!'):
        cleanedText.append(letter)
''.join(cleanedText)

我试图删除上面段落中的所有标点符号,但遇到了“Attribute Error:'str'object has no Attribute'append'”

可能出现的问题以及我应该如何着手解决

另外,我如何只打印等于或长于五个字符的世界,并包含一个“I”


Tags: inattributenecipsumloremletterappenddolor
2条回答

删除一个简单的技巧就是用一个空的str替换它(用replace)。对于第二部分,我们看两个条件:i在单词中,长度等于或大于5。注意,我们看的是大写的I

testText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque nec mauris nec tellus mollis ullamcorper. Vestibulum sit amet arcu placerat, sagittis quam sed, rutrum sem. Morbi vulputate odio non lacus."
str_to_remove = list('.,:;?!')

for letter in str_to_remove:
    testText = testText.replace(letter, '')

for word in testText.split(' '):
    if 'i' in word and len(word) >= 5:
        print(word)

试试这个:

for letter in testText:
    if letter not in list('.,:;?!\''):
        cleanText += letter
print(cleanText)

相关问题 更多 >