2017-10-02 4 views
2

私は欲しい単純なPythonアクションを持っています。私には文字列があります。 2364968438のようなものです。私はその文字列を持って、文字列の特定の場所の間に-を追加して、電話番号のように見せたいと思います。私のdjango/pythonプロジェクト内でこのようなものが236-496-8438です。私は部分に文字列をスライスする必要があることを知っているが、私はそれに問題があります。指定された場所の文字列に文字列を追加する - Django

私は文字列を取り、それを分割するだけでなく、変更を適用しますviews.pyファイル内のメソッドを作成したい。..

def numberfy(request, number): 
    phone = 
    #code that splits the number and adds hyphen goes here 
    return phone 

それは文字列または整数であるかどうかは重要ですか?

+1

このように整数を保存することはできませんが、重要なのはこれをテンプレートに適用する場所ですか?モデルで?フォームから?コンテキストを設定するコードをいくつか用意してください。 – PRMoureu

+0

文字列を分割して変更を適用するメソッドをviews.pyファイル内に作成したいと思います.. 'def numberfy(request、number):phone =番号を分割してハイフンを追加するコードhere#return phone'これは、それが見えるようなものです。 @PRMoureu –

答えて

3

はそれをスプライスし、(あなたの入力はすでに検証された場合)、それに参加する:たとえば

def dashify(num): 
    s = str(num) 
    return '-'.join([s[:3], s[3:6], s[6:]]) 

:ここ

>>> dashify(2364968438) 
'236-496-8438' 
0

方法:)

myStr = '5141234567' 

myNumber = myStr[:3] + '-' + myStr[:3] + '-' + myStr[:4] 

print myNumber 
0

ソリューションです。簡単です:

def format_number(number): 
    number = str(number) 
    groups = number[:3], number[3:6], number[6:] 
    return "-".join(groups) 

print(format_number("2364968438")) 
# -> 236-496-8438 
関連する問題