📅  最后修改于: 2023-12-03 15:38:36.889000             🧑  作者: Mango
在Python中,有时需要把大写字母前面添加一个空格,比如在输出文件名时,为了更好的阅读体验。下面介绍两种方法实现这个功能。
利用正则表达式匹配大写字母,然后在该位置前插入空格即可。代码如下:
import re
def add_space_before_capital_letter(s):
return re.sub(r'(?<!^)(?=[A-Z])', ' ', s)
s = 'MyFileName.txt'
print(add_space_before_capital_letter(s))
输出结果:
My File Name.txt
说明:
re.sub(r'(?<!^)(?=[A-Z])', ' ', s)
:使用正则表达式进行替换操作,匹配所有不在行首且前面为大写字母的位置,在此位置前插入一个空格。遍历字符串,判断每个字符是否为大写字母,如果是,则在前面插入一个空格。代码如下:
def add_space_before_capital_letter(s):
s_new = ''
for i, c in enumerate(s):
if i > 0 and c.isupper():
s_new += ' ' + c
else:
s_new += c
return s_new
s = 'MyFileName.txt'
print(add_space_before_capital_letter(s))
输出结果:
My File Name.txt
说明:
c.isupper()
:判断字符是否为大写字母。s_new += ' ' + c
:在字符c
前面添加一个空格,等价于s_new = s_new + ' ' + c
。以上两种方法都可以实现在Python中的大写字母前添加空格,根据具体需求选择合适的方法即可。