python - 按单词位置选择字符串

标签 python string

对于下面的元组

mysentence = 'i have a dog and a cat', 'i have a cat and a dog', 'i have a cat', 
             'i have a dog'

如何只选择字符串 'i have a cat' , 'i have a dog',即排除中间有单词 dogcat 的字符串。

最佳答案

您可以使用正则表达式来做到这一点。正则表达式 .+(dog|cat).+ 将匹配一个或多个字符,后跟 dog 或 cat,然后是多个字符之一。然后,您可以使用过滤器来查找与此正则表达式不匹配的字符串:

import re
regex.compile(r'.+(dog|cat).+')
sentence = 'i have a dog and a cat', 'i have a cat and a dog', 'i have a cat', 
           'i have a dog'
filtered_sentence = filter(lambda s: not regex.match(s), sentence)

关于python - 按单词位置选择字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8443286/

相关文章:

python - 全部导入还是不行

javascript - 将字符串格式的数组转换为 JavaScript 数组

python - 在python 3.x和2.x中统一区分str/unicode和bytes/str的方法是什么?

javascript - 来自字符串函数的图像

python - qt设计器如何创建彩色面板?

python - 如何用C++重写Dlib的Python代码?

python - 访问允许在 Python 3 中的程序之间拖放的 Windows 机制

python - 快速索引

c# - 谁是所有字符串中最伟大的?

C++ Winsock recv() 缓冲区垃圾