从python字符串中删除特殊符号

时间:2018-03-05 17:38:06

标签: python string

我试图从给定字符串sen中的每个单词中删除所有类型的特殊符号,但我无法在python中找到一个方法来正确实现它。

import string
def LongestWord(sen): 

    maxlen = 0
    count = 0
    words = sen.split()
    for word in words:
        ''.join(e for e in word if e.isalnum())
        if maxlen < len(word):
            maxlen = len(word)
            sen = words[count]
        count = count +1
    return sen

    # keep this function call here  
    print LongestWord(raw_input())

对于以下字符串: “一个美丽的句子^&amp;!”

我得到这个作为输出:句子^&amp;!

请帮助弄清楚如何删除这些特殊符号和标点符号。

2 个答案:

答案 0 :(得分:1)

查看Python String join() Method

  

此方法返回一个字符串,它是序列seq中字符串的串联。元素之间的分隔符是提供此方法的字符串。

简而言之,您需要在变量中保存它返回的内容。

def LongestWord(sen):
    words = sen.split()
    answer_string = ''
    for word in words:
        answer_string += ''.join(e for e in word if e.isalnum())
    return answer_string

print(LongestWord("a beautiful sentence^&!"))

输出:

abeautifulsentence

答案 1 :(得分:0)

只需将''.join(...)的结果存储在变量

word = ''.join(e for e in word if e.isalnum())