📜  如何在python中的大写字母前添加空格(1)

📅  最后修改于: 2023-12-03 15:38:36.889000             🧑  作者: Mango

如何在Python中的大写字母前添加空格

在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中的大写字母前添加空格,根据具体需求选择合适的方法即可。