Python文字列操作で発見したこと(ぼくの勘違い)

A8バナー広告

Pythonの文字列操作の小技。

改行コードを表示するにはどうすればいい?

改行コードとか、タブ文字とか、特殊文字列(と、呼ぶのか?)をあえて可視化したい。

どうするか?

r'\t\n\v\r' raw文字列にする

これでできた!

raw_s = '\n\naa\naa’
r'{}’.format(raw_s)
Out[26]: '\n\naa\naa’

区切り文字を保持しながら、区切る

改行文字で分割したい。でも、改行文字は分割後も残しておきたい。

どうするか?

s.splitlines(keepends=True)

ここにも書いてある。

文字列分割したいときに、文字列を保持しながら分割ってできないの?

2020/04/30で調べてみた限りだと、これを実現するメソッドはPython組み込みで用意されていないらしい。

正規表現モジュールで実現するのが良いらしい。on Stackoverflow

よく使いそうな命令だから、標準組み込みしてもいいのにな。計算量的に割と問題なのかもしれない。
区切り文字を再挿入するっていう操作が加わるから、計算量が増えるのかな??