【发布时间】:2012-08-10 02:09:39
【问题描述】:
使用 Python,我需要在文本文件中搜索字符串“that/”
然后我需要获取行号(目前通过使用枚举来实现),然后打印出来 "that\" + 直到下一个空格的剩余文本。
示例文本:First/LS thing/NN I/PRP want/VBP to/TO ask/VB is/VBZ if/IN you/PRP remember/VBP any/DT books/NNS that/IN you/PRP read/ VBP as/IN a/DT child/NN
示例输出:that/IN 14
这是我现在拥有的代码,它可以正常运行,但无论在哪里打印“that/xx”,它什么都不会打印。
with open(filename) as f:
for num, line in enumerate(f, 1):
if 'that/' in line:
myString = line
mySub = myString[myString.find('that/'):myString.find(' ')]
print(mySub, str(num))
formattedLines.append(mySub + ' ' + str(num) + '\n')
【问题讨论】:
-
又是哪个
that?that带有正向/或that带有反斜杠? -
你的文件是用每一行的每个字符串格式化的吗?
-
你的问题是 find(' ') 可能发生在 find('that/') 之前,所以在搜索 'that/' 之后尝试搜索 ' '(只需添加 find 返回的索引) find 也会返回 -1 以防万一它什么也没找到,这将是您代码的另一个缺点
标签: python search line substring nltk