我有一個字符串「000」。我想將其更改爲「0.00」。在字符串中插入字符(Swift)
我看了一下插入函數。
var str = "000"
str.insert(".", at: str.endIndex)
如何在結束索引之前得到2的索引?
我想:
str.insert(".", at: str.endIndex - 1)
但這並沒有在所有的工作。
我有一個字符串「000」。我想將其更改爲「0.00」。在字符串中插入字符(Swift)
我看了一下插入函數。
var str = "000"
str.insert(".", at: str.endIndex)
如何在結束索引之前得到2的索引?
我想:
str.insert(".", at: str.endIndex - 1)
但這並沒有在所有的工作。
您還可以使用String
的s character
屬性。它基本上是一個由String中的所有字符(duh)組成的數組。
所以,你會:
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
,如.insert
不允許你指定使用Int
位置。
它是一個集合,而不是一個數組(否則你可以用一個Int索引它)。請注意,您的代碼等同於'let index = str.index(str.startIndex,offsetBy:1); str.insert(「。」,at:index)'因爲'String'將這些調用轉發給它的字符視圖。 –
這非常整齊!但是沒有辦法首先創建索引,對嗎?看起來很乏味。 – Marmelador
'str.insert(「。」,at:str.index(str.endIndex,offsetBy:-2))'。不要忘記確保您的字符串數> 2 –
非常感謝! –
https://stackoverflow.com/a/32466063/1187415 –