python中大写字母组的拆分

2024-06-17 08:05:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用一个大写字母作为分隔符来标记一些字符串。我发现了以下代码:

token = ([a for a in re.split(r'([A-Z][a-z]*)', "ABCowDog") if a])

print token

作为回报,我得到的回报是:

['A', 'B', 'Cow', 'Dog']

现在,这只是一个简单的字符串示例,但是在我的例子中,我希望浏览这个列表,找到单个字符(检查len()就足够容易了),然后将各个字母组合在一起,前提是它们满足先前的定义。在上面的例子中,字符串“AB”、“Cow”和“Dog”是我真正想要形成的字符串(连续的大写字母是首字母缩略词的一部分)。不管是什么原因,一旦我拿到了我的代币,我就不知道该怎么做了。抱歉,如果这是一个简单的答案,但我对python相当陌生,我厌倦了用头撞墙。在


Tags: 字符串代码in标记retokenfor大写字母
3条回答
([A-Z][a-z]+)

你应该按这个分开。在

可以使用以下命令与regex module拆分:

(?=[A-Z][a-z])

DEMO

代码:

^{pr2}$

re.split并不总是易于使用,在许多情况下有时似乎受到限制。您可以使用re.findall尝试其他方法:

>>> s = 'ABCowDog'
>>> re.findall(r'[A-Z](?:[A-Z]*(?![a-z])|[a-z]*)', s)
['AB', 'Cow', 'Dog']

相关问题 更多 >