在大写字母和大写字母后分别分割字符串

时间:2019-03-18 12:47:36

标签: python string list uppercase lowercase

下面是我的字符串模式,

'YES-HIDETotal Maze LLC.'

&我想将上面的字符串分成下面的列表,

 ['YES-HIDE', 'Total Maze LLC.']

我该如何在python中使用正则表达式呢?

编辑:

我想使用re包在大写字母后面的大写字母后面拆分字符串

提供另一个示例

'PLEASE SPLITThis String'

进入

['PLEASE SPLIT', 'This String']

2 个答案:

答案 0 :(得分:2)

我正在尝试给出一个答案,它将帮助您理解问题并致力于解决方案。

您有一个包含大写字母的字符串,并且在某个时候有一个小写字母。您希望在第一个小写字母之前的位置拆分字符串。您可以遍历字符串并找到第一个小写字母,记住该位置并在那里拆分字符串。

这既不是正则表达式也不是快速,而是简单而冗长:

input_string = 'TESTTest'
for pos, letter in enumerate(input_string):
  if letter.islower() and letter.isalpha():
    split_position = pos-1
    break
first_part = input_string[:split_position]
second_part = input_string[split_position:]

答案 1 :(得分:0)

尝试使用正则表达式:(?<=[A-Z])[A-Z](?=[a-z])

Regex Demo

Python Demo