2017-04-11 21 views
1

私はLinuxのツリー出力を含むファイルを読み込むスクリプトを作成していますが、各行の始めにツリーの書式を削除したいと思います。しかし、私は最初の文字または数字の後に文字列内のスペースを維持したいと思います。Pythonは文字または数字まで文字を削除します

これは私がこれまで持っているものです:どのように非正規表現のソリューションについて

import re 
with open(tree_loc) as f: 
    for line in f: 
     if 'batman' in line: 
      line = re.sub(r'[^\w*]', '', line) 
      print(line) 
+0

「re(r '^ \ W'、 ''、行) ' –

答えて

1

>>> from string import letters, digits 
>>> from itertools import dropwhile 
>>> 
>>> keep = set(letters + digits) 
>>> s = '[email protected]@^test123' 
>>> ''.join(dropwhile(lambda c: c not in keep, s)) 
'test123' 
+1

これは完璧に動作します!ご協力いただきありがとうございます! –

関連する問題