0

各行がまたはのように見える長いテキストファイルがあり/MM0001 (Table(12,))ます/MM0015 (Table(11,))。の横にある4桁の数字だけを残しておきたい/MM。「table(12、)」の部分がなければ、数字以外の文字をすべて削除することはできましたが、4桁の数字だけを抽出する方法がわかりません。始めるためのアドバイスはありますか?

4

4 に答える 4

3

それがまさにそのフォーマットであるなら、あなたはただ印刷することができますline[3:7]

于 2012-04-25T20:09:19.890 に答える
2

テキストを1行ずつ解析してから、すべての行の4番目から7番目の文字を使用できます。ln [3:7]

于 2012-04-25T20:08:47.760 に答える
2
import re
R=re.compile(r'/MM(\d+)')
for line in file:
    L=R.match(line)
    if L:
       print L.group(1)

または、もっと簡潔に...

lines=[R.match(line).group(1) for line in file]  #works if the lines are guaranteed to start with \MM

これにより、aに続く整数のみが得られ、整数/MMの文字列の長さに関係なく機能するはずです。それらが特定の長さであることが保証されている場合は、他の例の1つ(正規表現を使用しない)を使用することをお勧めします。

于 2012-04-25T20:10:42.447 に答える
0

各行がで始まる場合は、ファイルを調べ/MMて印刷します。line[3:7]

for line in file:
    print line[3:7]
于 2012-04-25T20:07:55.500 に答える