繁体   English   中英

Python - 将最后一句与列表中的字符串分开

[英]Python - Separate last sentence from string in a list

我有一个字符串

x = 'Test. Test1. Test test test.'

现在我想将最后一个句子(意思是最后一组以大写字母开头的字符串)与列表中的其余字符串分开。 这怎么可能?

IIUC,您可以使用re.split基本capital chars并返回结果的最后两个元素。

>>> import re
>>> x = 'Test. Test1. Test test test.'

>>> re.split(r'([A-Z])', x)
['', 'T', 'est. ', 'T', 'est1. ', 'T', 'est test test.']
# you want this : ----------------^^^ and ^^^^^^^^^^^^^

>>> re.split(r'([A-Z])', x)[-2:]
['T', 'est test test.']

>>> ''.join(re.split(r'([A-Z])', x)[-2:])
'Test test test.'

解释:

  • [AZ] :允许在 : (AZ) -> A,B, ..., X, Y, Z 之间使用任何大写字母
x = 'Test. Test1. Test test test.'

separated = x[13:]

print(separated)

您可以使用您希望句子开头的索引,冒号后不留任何值表示“直到结尾”。 如果您需要更多条件,例如“来自大写字母”,那么其他答案可能更适合

您可以使用正则表达式[AZ][^AZ]*$来获取它。
例子:

import re
s='Test. Test1. Test test test.'
last_sentence=re.findall('[A-Z][^A-Z]*$',s)
print(last_sentence)

输出:

['Test test test.']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM