返回字符串中每个单词的最后一个字符

2024-09-28 16:57:11 发布

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

我的问题如下。 我需要删除大字符串中的标点符号。 然后我需要删除并将字符串中每个单词的最后一个字母返回到列表或字符串中。在

这是我正在用的绳子。在

text = """
Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes,
nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi.
Nam eget dui. Etiam rhoncus. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient python,
nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo,
fringilla vel, aliquet nec, vulputate eget, arcu. Etiam ultricies nisi vel augue. Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis,
baxa quouq. axa la consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. Etiam ultricies nisi vel augue.
Curabitur ullamcorper ultricies nisi. Proin at neque et tellus ultricies consequat. Duis vitae mi commodo, suscipit nunc vel, porta tellus.
In eu volutpat sapien. Mauris dignissim velit eget diam tristique, nec egestas magna maximus.
Pellentesque python, lorem a eleifend vehicula, arcu urna facilisis odio, maximus maximus massa nisl sed sapien.
Quisque nisi nunc, dignissim ut malesuada non, fringilla vitae sem. Nunc turpis quam, rutrum at egestas ut, pretium tincidunt est.
Praesent imperdiet mauris eu felis lobortis vehicula. Sed dictum lorem at rutrum rhoncus. Suspendisse sit amet ex ac eros python cursus.
Duis pretium rutrum lacus, sit amet vulputate ipsum condimentum vel. Vivamus lacus ipsum, python in justo quis,
blandit condimentum velit esed semper posuere leo, elementum tristique leo euismod quis
"""

我用这段代码成功地删除了字符串中的标点符号。在

^{pr2}$

我还成功地删除了字符串中每个单词的最后一个字母。在

def last_item(item):

    splitter = item.split()

    print([x[:-1] for x in splitter])



last_item(text)

我现在被困在如何将删除的值返回到新的列表或字符串中。在

有什么建议吗?在


Tags: 字符串etneceunisiquamveldonec
3条回答
return ''.join([x[-1] for x in splitter]) # as punctuation have been removed as per question.

可以将string.puncuation与生成器表达式一起使用,以删除标点符号。然后列表理解可以在空白处拆分,并从每个单词中获取最后一个字母。在

import string
def clean_string(s):
    return ''.join(i for i in s if i not in string.punctuation)

>>> [word[-1] for word in clean_string(text).strip().split(' ')]
['n', 'o', 'a', 't', 'r', 'n', 'a', 'm', 's', 'e', 's', 't', 's', 's', 't', 'r', 's', 's', 'c', 'm', 's', 's', 'c', 'e', 'u', 'm', 's', 'm', 'a', 't', 'a', 's', 'c', 'e', 'o', 'a', 'l', 't', 'c', 'e', 't', 'u', 'm', 's', 'i', 'l', 'e', 'r', 'r', 's', 'm', 't', 'i', 'm', 's', 'n', 'o', 'a', 't', 'r', 'n', 'a', 'm', 's', 'e', 's', 't', 's', 's', 't', 'r', 's', 's', 'c', 'm', 's', 's', 'c', 'e', 'u', 'm', 's', 'm', 'a', 't', 'a', 's', 'm', 'c', 'e', 'a', 'l', 't', 'c', 'e', 't', 'u', 'm', 's', 'i', 'l', 'e', 'r', 'r', 's', 'i', 'm', 't', 'i', 'm', 'm', 's', 'e', 's', 't', 's', 's', 't', 's', 'r', 's', 's', 'c', 'm', 's', 's', 'c', 'e', 'u', 'm', 'a', 'q', 'a', 'a', 't', 'a', 's', 'm', 'c', 'e', 'o', 'a', 'l', 't', 'c', 'e', 't', 'u', 'm', 's', 'i', 'l', 'r', 'r', 's', 'i', 'n', 't', 'e', 't', 's', 's', 't', 's', 'e', 'i', 'o', 't', 'c', 'l', 'a', 'n', 'u', 't', 'n', 's', 'm', 't', 't', 'm', 'e', 'c', 's', 'a', 'e', 'n', 'm', 'a', 'd', 'a', 'u', 'a', 's', 'o', 's', 's', 'a', 'l', 'd', 'e', 'i', 'c', 'm', 't', 'a', 'n', 'a', 'e', 'm', 'c', 's', 'm', 'm', 't', 's', 't', 'm', 't', 't', 't', 's', 'u', 's', 's', 'a', 'd', 'm', 'm', 't', 'm', 's', 'e', 't', 't', 'x', 'c', 's', 'n', 's', 'm', 'm', 's', 't', 't', 'e', 'm', 'm', 'l', 's', 's', 'm', 'n', 'n', 'o', 't', 'm', 't', 'd', 'r', 'e', 'o', 'm', 'e', 'o', 'd', 's']

不是最好的办法,但它是有效的。在

new = ""

for i in text:
    if i not in "?.!,:;":
        new += i


print new

x = new.split(' ')

new1 = ""
for i in x:
    print i[-1:]
    new1 += i[:-1]
    new1 += ' '

print new1

相关问题 更多 >