我想在文本文件中反转单词的字母,例如:
输入>
ABCD : 123 QA
FGHK : 456 QB
输出>
DCBA : 321 AQ
KHGF : 654 BQ
编辑:
我的一些不成功的解决方案:
" ".join(str[::-1].split()[::-1])
''.join([str[i] for i in xrange(len(str)-1, -1, -1)])
感谢
答案 0 :(得分:0)
>>> my_string = "ABCD : 123 QA"
>>> "{} {}\t {} {}".format(*map(lambda x:x[::-1],my_string.split()))
'DCBA :\t 321 AQ'
答案 1 :(得分:0)
您可以使用re.split()
:
>>> import re
>>> s ='ABCD : 123 QA'
>>> ''.join(map(lambda x: x[::-1],re.split(r'(\s?)',s)))
'DCBA : 321 AQ'
使用r'(\s?)'
模式在任何空格之后拆分字符串但保留它们,因此您将拥有以下列表:
['ABCD', ' ', ':', ' ', '', ' ', '', ' ', '', ' ', '123', ' ', 'QA']
然后您可以使用map
对您的单词应用反向函数,并最后加入它们。