检查字符串中点后是否存在文本

时间:2019-02-08 10:53:34

标签: python regex python-3.x

假设我有以下字符串:

s = ['Item 6.', 'Item 7. Company', 'Item 8', 'Item 9. Stack']

如何仅在字符串本身中包含在点(。)之后具有文本的字符串?

这意味着所需的输出是:

s = ['Item 7. Company', 'Item 9. Stack']

在这里regex是最好的解决方案。但是,我对regex感到很软弱,无法在互联网上找到任何特定的内容。欢迎任何帮助。

2 个答案:

答案 0 :(得分:1)

使用正则表达式。

例如:

import re

s = ['Item 6.', 'Item 7. Company', 'Item 8', 'Item 9. Stack', 'Item 10. Stack']
print([i for i in s if re.search(r"\d+\.\s*\w+", i)])

输出:

['Item 7. Company', 'Item 9. Stack', 'Item 10. Stack']

答案 1 :(得分:1)

没有正则表达式,使用s_list和简单的if-block附加所需的字符串。

st = ['Item 6.', 'Item 7. Company', 'Item 8', 'Item 9. Stack']
s_list = []    # empty list
for s in st:   
    if ". " in s: s_list.append(s)    
print(s_list)

输出:

['Item 7. Company', 'Item 9. Stack']
相关问题