私はこの文字列を持っている:Pythonでは、文字を一定数の文字に再帰的に折り返す方法は何ですか?
text = "abc def ghi jkl mno pqr stu vwx yz\nabc def ghi jkl mno pqr stu vwx yz"
私は文字幅にそれをラップしたい(例:5)それは、このなるように:
abc d
ef gh
i jkl
mno
pqr s
tu vw
x yz
abc d
ef gh
i jkl
mno
pqr s
tu vw
x yz
非再帰的に、ここで私が持っているものです。
text_in = text.split("\n")
text_out = []
width = 5
for line in text_in:
if len(line) < width:
text_out.append(line)
else:
text_out.append(line[:width])
text_out.append(line[width:])
print("\n".join(text_out))
だから、それは右のみ有数オーダーレベルに物事を取得します。
abc d
ef ghi jkl mno pqr stu vwx yz
abc d
ef ghi jkl mno pqr stu vwx yz
どのようにこのラッピングは、再帰的または他のいくつかのきちんとした方法で行う必要がありますか?
正規表現は少し過剰ですか? – everyone