2017-07-12 8 views
1

は、私はこのような別の文字列と文字列の書式を設定したいと思います:SWIFT:文字列内の%sの使用(形式:...)

greetings 哰૧ 

var str = "Hello, playground" 
print (String(format: "greetings %s", str)) 

これは、この美しい結果につながります

私は%@で試しましたが、それは動作しますが、別のプログラミング言語 からフォーマット文字列を取得しているので、可能であれば%sタグを使用したいと思います。 方法はありますか?

ジュリアン

+1

'"%s "'フォーマット指定子は、NULLで終わるバイト列である_C_文字列を指定します。また、非ASCII/UTF-8エンコーディングも正しく処理されません。取得した書式文字列で "%s"を検索して "%@"に置き換えることはできませんか? –

+0

'%s'はSwift文字列ではなくC文字列を要求します。 – rmaddy

+0

なぜgreetings \(str) "'を使うのはなぜですか? – Peterdk

答えて

1

[OK]を

おかげで、私は%@での%sに置き換えられます。 Pythonは私の友達です。

ありがとうございます!

+2

Peterdkが尋ねるように、「greeting \\(str) "'を使用してみませんか? Swiftには文字列のサポートがあり、古いスタイルの書式を使用する必要はありません。 –

+1

私の例は簡素化されているので、実際にはresourceStringを使っています。完全なコマンドは次のようなものです。 'print(String(format:NSLocalizedString(resource、comment .....' – Julien