2017-09-13 12 views
0

必要なパラメータの一つだけを渡すときに文字列の書式を保存:私は文字列に次のように保存されたURLの形式を持っている

"https://website.com/something/%s/else/%s" 

私はフォーマットを維持しながら、最初の文字列を追加したいと思います。しかし、最初のパラメータとフォーマットだけを渡す文字列を作成すると、結果の文字列はの代わりにnullという値になります。中

String(format: "https://website.com/something/%s/else/%s", "param1Asutfstring") 

結果:

https://website.com/something/param1Asutfstring/else/(null) 

私は2番目の%sを維持しながら、そうする方法があるかどうかを疑問に思うん。

https://website.com/something/param1Asutfstring/else/%s 

EDIT:

私はこれを与えられた何か必要があります。

String(format: "https://website.com/something/%s/else/%s", "param1Asutfstring") 

はまさにこの形式の文字列を返します:

"https://website.com/something/param1Asutfstring/else/%s" 
+2

私はこれが(NS)文字列の形式は '%で、全く機能していることだろう@ '、not '%s' - とにかく、'%s'を2番目の文字列として渡すことができます。 –

+0

フォーマットに2つのプレースホルダがある場合は、2つのパラメータを渡す必要があります。 –

答えて

1

あなたは2番目のパラメータで%sを使用することができます。

let url = String(format: "https://website.com/something/%@/else/%@", "param1Asutfstring", "%s") 
print(url) 
は(少なくとも私にとっては)動作しないため %@が使用されていること

注意

出力:

https://website.com/something/param1Asutfstring/else/%s 
関連する問題