我试图从给定字符串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;!
请帮助弄清楚如何删除这些特殊符号和标点符号。
答案 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())