我试图在每个大写字母之前添加一个空格,除了第一个大写字母.
这是我到目前为止所拥有的,以及我得到的输出:
>>> tex = "ThisFileName.txt" >>> re.sub('[A-Z].', ' ', tex) ' his ile ame.txt'
我想:'这个文件Name.txt'
(如果我还能摆脱.txt,那会很好,但我可以在单独的操作中做到这一点.)
这里的关键概念是正则表达式中的反向引用:
import re text = "ThisFileName.txt" print re.sub('([a-z])([A-Z])', r'\1 \2', text) # Prints: "This File Name.txt"
我建议以可靠的方式取出'.txt' os.path.splitext()
import os filename = "ThisFileName.txt" print os.path.splitext(filename) # Prints: ('ThisFileName', '.txt')