次のような電話番号があるとしましょう:
05395042123
次のような形式に変換したい:
xxxxx xxx xx xx
どうすればいいですか?誰でも関数を持っていますか?
手動で行うのは非常に簡単です。フォーマットが 1 つしかない場合は、これがおそらく最良のアイデアです。
def phone_split(x):
return ' '.join([x[0:4], x[4:7], x[7:9], x[9:]])
編集:
そして、より普遍的な方法:
def phone_split(x, format=[4,3,2,2]):
parts = []
reduce(lambda x, y: parts.append(x[:y]) or x[y:], format, x)
return ' '.join(parts)
append()
結果を蓄積するために副作用を使用しor
、ラムダのワンライナー要件を満たすために使用しています。
EDIT2:
おそらく Django テンプレート内でそれを使用したいと思うでしょう。その場合は、上記のコードを使用してカスタム テンプレート タグを定義し、単純なフィルターとして登録することをお勧めします。