2024-09-28 21:03:59 发布
网友
我试着在每个大写字母前加一个空格,除了第一个。在
以下是到目前为止,我得到的结果:
>>> tex = "ThisFileName.txt" >>> re.sub('[A-Z].', ' ', tex) ' his ile ame.txt'
我想要: '这个文件名称.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()
os.path.splitext()
re.sub('([a-z])([A-Z])', '\\1 \\2', 'TheFileName.txt')
编辑:StackOverflow在不处于“代码模式”时会吃掉一些\s。。。因为我忘了在上面的代码后面加一个新行,所以它在'code mode':-(。因为我在这里添加了文本,所以我不需要更改任何内容,现在它是正确的。在
另一个可能使用look-behind的正则表达式:
(?<!^)([A-Z])
这里的关键概念是正则表达式中的反向引用:
为了可靠地使用“.txt”,我建议
^{pr2}$os.path.splitext()
编辑:StackOverflow在不处于“代码模式”时会吃掉一些\s。。。因为我忘了在上面的代码后面加一个新行,所以它在'code mode':-(。因为我在这里添加了文本,所以我不需要更改任何内容,现在它是正确的。在
另一个可能使用look-behind的正则表达式:
相关问题 更多 >
编程相关推荐