コマンドプロンプトの出力結果や、システムのlogなどを
整形する時に、いつも、空白の処理に手こずっております。そこで、練習として、下記のtxtで空白を処理する練習を
行っておりますが、文字列中の空白の削除や置換は私の書いたコードで合っていますでしょうか?
一応、意図した動作は行われていますが、使い方が間違っている、もっと、こうした方が効率が良いとか、
アドバイスやコツを教えていただけたらと思います。
str.txt
1スペース1つ 2 スペースを消去する。 スペース。 3 4スペース2つ 5 スペース2つを消去する。 スペース。 6 7タブ 8 タブを消去する。 タブ。 9 10 11全角スペース 12 全角スペースを消去する。 全角スペース
import re pattern = r'\s' with open('str.txt', 'r', encoding='utf-8') as f: lines = f.readlines() for line in lines: # 文字列の開始と終了の空白を削除 line = line.strip() # 文字列中にある空白を検索し、削除(今回は、分かる様に , に置換) tmp = re.compile(pattern) m = tmp.search(line) if m: line = re.sub(r'\s+', ',', line) print(line.strip('\n')) else: print(line.strip('\n'))
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。