📌  相关文章
📜  Python中的正则表达式在以大写字母开头的单词之间放置空格

📅  最后修改于: 2022-05-13 01:54:38.203000             🧑  作者: Mango

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

给定一个字符数组,它基本上是一个句子。但是,不同的单词之间没有空格,并且每个单词的第一个字母都是大写的。您需要在以下修改后打印这句话:

  1. 在这些词之间放置一个空格。
  2. 将大写字母转换为小写字母。

例子:

Input : BruceWayneIsBatman
Output : bruce wayne is batman

Input :  GeeksForGeeks
Output :  geeks for geeks

对于这个问题,我们有一个现有的解决方案,请参考在以大写字母开头的单词之间放置空格链接。

我们可以使用 re (regex) 库的 findall() 方法在Python中快速解决这个问题。

方法 :

  1. 使用re.findall(expression, str)方法拆分以大写字母开头的每个单词。
  2. 现在将每个单词的大写字母更改为小写,并用空格连接每个单词。
Python3
import re
   
def putSpace(input):
   
    # regex [A-Z][a-z]* means any string starting 
    # with capital character followed by many 
    # lowercase letters 
    words = re.findall('[A-Z][a-z]*', input)
   
    # Change first letter of each word into lower
    # case
    for i in range(0,len(words)):
    words[i]=words[i][0].lower()+words[i][1:]
    print(' '.join(words))
     
   
# Driver program
if __name__ == "__main__":
    input = 'BruceWayneIsBatman'
    putSpace(input)


输出:

bruce wayne is batman