2017-01-31 11 views
-4

ファイルからデータを抽出したい。ファイルは、このデータが含まれている のconfig.txt - >RegExをPythonで使用するには?

Link-local IPv6 Address . . . . . : fe80::b84b:8729:c16b:8d16%1 
IPv4 Address. . . . . . . . . . . : 10.132.83.151 
Subnet Mask . . . . . . . . . . . : 255.255.254.0 
Default Gateway . . . . . . . . . : 10.132.78.1 

コード:

f = open('config') 
for line in f: 
    # what should be logic to grab data like 

出力は次のようになります。これについて

fe80::b84b:8729:c16b:8d16%1 
10.132.83.151 
255.255.254.0 
10.132.78.1 
+2

スタックオーバーフローがフォーラムを書いたコードではありません。これまでに何を試しましたか?あなたの作品を見せてください。 – Soviut

+1

最初の出力行では、ランダムなスペースを追加しているようです。その背後にある論理は何ですか? –

+1

うまく形成された質問ですが、SOはコード書き込みツールではありません。詳細はこちらhttp://meta.stackexchange.com/questions/17494/im-new-to-stackoverflow-what-should-i-consider-before-asking-questions –

答えて

-2

か?

for line in f: 
    print(line.split(':',1)[1].strip()) 
+0

rexexpsをスキップする方法の良い答え。私はupvoteしたいが、できません。質問にSoviutのコメントを参照してください、それはあなたの答えに値するかどうかわからない... –

+0

ありがとうDazが、このソリューションは正規表現を使用していない文字列を使用しています。私は正規表現で解決したい。 –

-2

オプション1:

# pick everything after a fixed number of characters 
grab_after = len('Link-local IPv6 Address . . . . . : ') 
f = open('config') 
for line in f: 
    print(line[grab_after:]) 

オプション2:

# pick everything after last space 
f = open('config') 
for line in f: 
    print(line.split()[-1]) 
+1

素晴らしいオプション、私はupvoteしたいが、できません。質問にSoviutのコメントを参照してください、それはあなたの答えに値するかわからない... –

+0

ありがとう、しかし私は文字列操作ではなく正規表現を使用して解決したい。 –

関連する問題