Python中的正则表达式,用于在以大写字母开头的单词之间放置空格

我们在这里试图解决的问题是将CamelCase转换为单独的单词。我们可以使用正则表达式直接解决此问题,方法是查找给定字符串中所有出现的大写字母,并在其前面放置一个空格。我们可以使用re模块中的sub方法。

例如,对于输入字符串-

AReallyLongVariableNameInJava

我们应该得到输出-

A Really Long Variable Name In Java

我们可以使用“ [AZ]”正则表达式查找所有大写字母,然后将它们替换为空格和该字母。我们可以使用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