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

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

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

例如:

Input : BruceWayneIsBatmanOutput : bruce wayne is batmanInput :  GeeksForGeeksOutput :  geeks for geeks

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

我们可以使用python快速解决这个问题 芬德尔() 方法 re(正则表达式)库 .

方法:

  1. 用大写字母拆分每个单词 重新。findall(表达式,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

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享