Skip to main content
 首页 » 编程设计

以大写字母开头的单词的 Pythonic 句子拆分

2025年05月04日11yjmyzz

我有几个 UTF 格式的句子,我想根据第一个大写字母拆分。

例子:

“强悍的狐狸”->“强悍的”,“狐狸”

"漂亮的白猫"-> "Nice", "White Cat"

"This is a lazy Dog"-> "This is a lazy", "Dog"

"这是勤劳的小 Ant "-> "这是勤劳的", "小 Ant "

做这种拆分的 pythonic 方法是什么?

请您参考如下方法:

如果你想在空格后面的每个大写字母上拆分一个字符串

import re 
 
s = "Tough Fox" 
re.split(r"\s(?=[A-Z])", s, maxsplit=1) 
 
['Tough', 'Fox'] 

re.split 方法等同于 Python 内置的 str.split,但允许 regular expression用作拆分模式。

正则表达式首先查找空格 (\s) 作为拆分模式。此模式将被 re.split 操作吃掉。

(?=...) 部分讲述的是一个预读谓词表达式。字符串中的下一个字符必须匹配此谓词(在本例中为任何大写字母 [A-Z])。但是,这部分不被认为是匹配的一部分,因此它不会被 re.split 操作吃掉。

maxsplit=1 将确保只发生一次拆分(最多两个项目)。