反转文本文件中单词的字母?
Reverse letters of words inside text file?
我想反转文本文件中单词的字母,例如:
输入 >
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)])
谢谢
你可以这样试试:
>>> my_string = "ABCD : 123 QA"
>>> "{} {}\t {} {}".format(*map(lambda x:x[::-1],my_string.split()))
'DCBA :\t 321 AQ'
您可以使用 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
对你的单词应用你的反向函数,最后加入它们。
我想反转文本文件中单词的字母,例如:
输入 >
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)])
谢谢
你可以这样试试:
>>> my_string = "ABCD : 123 QA"
>>> "{} {}\t {} {}".format(*map(lambda x:x[::-1],my_string.split()))
'DCBA :\t 321 AQ'
您可以使用 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
对你的单词应用你的反向函数,最后加入它们。