对于随机字符串,例如:
H!i I am f.rom G3?ermany
如何将所有特殊字符移动到单词的末尾,例如:
Hi! I am from. Germany3?
答案 0 :(得分:1)
我将特殊字符定义为非a-z,A-Z或空格:
您可以将字符串拆分为单词,使用正则表达式查找每个单词中的特殊字符,删除它们,将它们添加回单词的末尾,然后将单词连接在一起以创建新字符串:
import re
string = "H!i I am f.rom G3?ermany"
words = string.split(' ')
pattern = re.compile('[^a-zA-Z\s]')
new = ' '.join([re.sub(pattern, '', w) + ''.join(pattern.findall(w)) for w in words])
这会将H!i I am f.rom G3?ermany
变为Hi! I am from. Germany3?
答案 1 :(得分:0)
你可以尝试这个:
s = "H!i I am f.rom G3?ermany"
l = []
for i in s.split():
k = [j for j in i if j.isalpha()]
for m in i:
if not m.isalpha():
k.append(m)
l.append(''.join(k))
print(' '.join(l))
它会像:
"Hi! I am from. Germany3?
在 python 2x 中,您可以在单行中执行此操作,如:
k = ' '.join([filter(str.isalpha,i)+''.join([j for j in i if not j.isalpha()]) for i in s.split()])