使用正则表达式在以大写字母开头的单词之间插入空格


我们在此处尝试解决的问题是将驼峰式大小写转换为独立的单词。我们可以直接使用正则表达式来解决此问题,方法是在给定字符串中查找所有出现大写字母的位置并在其之前插入空格。我们可以使用 re 模块中的 sub 方法。

例如,对于输入字符串 -

AReallyLongVariableNameInJava

我们应该得到输出 -

A Really Long Variable Name In Java

我们可以使用 “[A-Z]” 正则表达式来查找所有大写字母,然后用空格和那个字母再次替换它们。我们可以使用 re 包按照如下方式实现它 -

示例

在线演示

import re

# Find and capture all capital letters in a group and make that replacement
# using the \1 preceded by a space. Strip the string to remove preceding
# space before first letter.
separated_str = re.sub("([A-Z])", " \1", "AReallyLongVariableNameInJava").strip()
print(separated_str)

输出

这会生成输出 -

A Really Long Variable Name In Java

更新于: 2020-06-20

706 次浏览

开启你的 职业生涯

完成课程取得认证

开始
广告