0

次を含むファイルがあります:

"1 2 3 4 5 5 6  searching new
 1 2 3 4 5 5 6  search"
 1 2 3 4 5 5 6  search and"

コード:

with open('largeFile', 'r') as inF:
 for line in inF:
    if 'search' in line:
    # do_something 

2行目だけが欲しい両方の行を取得しています。

4

3 に答える 3

0

正規表現を使用できます。

単語境界(\b) を使用してをチェックしwords行末$をチェックします。

>>> line = "abc search"
>>> if re.search('(\\b(search)\\b)$', line):
          print "true"


true

>>> line1 = "search asdf"
>>> if re.search('(\\b(search)\\b)$', line):
          print "true"
>>> else:
          print "false"

false
于 2012-10-03T14:36:02.580 に答える
0

次のように除外searchingします。

with open('largeFile', 'r') as inF:
    for line in inF:
         if not 'searching' in line:
             # do_something 

他の行がどのように見えるかによって少し異なります。より正確には、次のことができます。

....if 'search' and not 'searching' in line:
于 2012-10-03T14:20:36.160 に答える
0

どうですか

if line.endswith("search")

しかし、公平を期すために、あなたが何を望んでいるのかは明確ではありません。より多くの例の行を投稿して、あなたが期待するものを教えてください.

于 2012-10-03T14:20:57.970 に答える