【发布时间】:2018-08-24 09:49:54
【问题描述】:
假设我有这样的字符串:
他说“我是他的父亲。”
那个漂亮的女士说“拿你的书!”
绿色纹身的女孩说:“你在做什么?”
我试图从上面的句子中得到“说”这个词。
这是我目前所拥有的:
def between(value, a, b):
# Find and validate before-part.
pos_a = value.find(a)
if pos_a == -1: return ""
# Find and validate after part.
pos_b = value.rfind(b)
if pos_b == -1: return ""
# Return middle part.
adjusted_pos_a = pos_a + len(a)
if adjusted_pos_a >= pos_b: return ""
return value[adjusted_pos_a:pos_b]
print(between(test, [0], '"'))
我使用上面的代码,它给了我
TypeError: 无法将 'list' 对象隐式转换为 str
【问题讨论】:
-
你想根据什么标准得到said这个词?你想得到引用部分之前的最后一个词吗?
-
a是一个列表,所以字符串test将永远无法找到它 -
我不明白你的目的是什么。如果你知道你只想要
said这个词,为什么不直接输入return "said"呢? -
投票结束,因为“不清楚要问什么”。
-
@Sнаđошƒаӽ 关闭它是朝着删除它迈出的一步。