我有几个 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 将确保只发生一次拆分(最多两个项目)。
