2017-07-08 10 views
0

文字列「000」があります。これを「0.00」に変更したいと思います。文字列に文字を挿入する(Swift)

私は挿入機能を見ました。

var str = "000" 
str.insert(".", at: str.endIndex) 

終了インデックスの前に2のインデックスを取得するにはどうすればよいですか?

は、私が試した:

str.insert(".", at: str.endIndex - 1) 

が、これはまったく機能しませんでした。

+2

'str.insert("。 "、at:str.index(str.endIndex、offsetBy:-2))'。あなたの文字列の数が> 2であることを確認することを忘れないでください。 –

+0

ありがとうございます! –

+0

https://stackoverflow.com/a/32466063/1187415 –

答えて

1

プロパティを使用することもできます。その基本的な配列は、String内のすべての文字(duh)で構成されています。

ですからます:.insertあなたはIntを使用して位置を指定することはできませんよう

var str = "000" 

let index = str.characters.index(str.characters.startIndex, offsetBy: 1) //here you define a place (index) to insert at 
str.characters.insert(".", at: index) //and here you insert 

は、残念ながらあなたは、index最初に作成する必要があります。

+0

これはコレクションであり、配列ではありません(そうでなければ、Intでインデックスできます)。あなたのコードは 'let index = str.index(str.startIndex、offsetBy:1);と同じです。 str.insert( "。"、at:index) '' String'はそれらの呼び出しをキャラクタビューに転送するためです。 –

+0

それはかなりきれいです!しかし、最初にインデックスを作成する方法はありません。面倒だと思う。 – Marmelador

関連する問題