2016-10-08 68 views
2

我有一個通用的字符串屬性的格式如下:15555555555.我想在下面的格式在UILabel顯示它:如何以特定格式將字符插入到字符串中?

(555)
555-5555

我會如避免更改大小或任何其他內容以獲取文本換行,因爲它顯示基於模式的不同文本。我一直在使用NSMutableString和除其他事項外myString.components(separatedBy:)嘗試,但我遇到了麻煩工作代碼:

1日未遂方法:

let phoneNumber = NSMutableString(string: self.phoneNumber) 
phoneNumber.remove(at: 0) 
phoneNumber.insert("-", at: 6) 
phoneNumber.insert(")", at: 3) 
phoneNumber.insert("(", at: 0) 
let finalString: String = phoneNumberArray.joined() 

第二企圖方法:

var phoneNumberArray = self.phoneNumber.components(separatedBy: 「」) 
phoneNumber.remove(at: 0) 
phoneNumber.insert("-", at: 6) 
phoneNumber.insert(")", at: 3) 
phoneNumber.insert("(", at: 0) 
let finalString: String = phoneNumberArray.joined() 

一切我試圖是給出一個錯誤,我不知道如何使它在中間環繞,而不是分裂成兩個字符串。任何幫助將不勝感激。提前致謝。

+0

你得到什麼錯誤? –

+0

https://github.com/marmelroy/PhoneNumberKit – Adrian

回答

2

請注意陣列類型,因爲您正在尋找[String],而不是[Character]

我用下面的代碼輸入了一個例子。這需要電話號碼並使數字中的每個數字成爲String元素。這樣,您可以插入並刪除String個字符。此外,您實際上可以在String中使用換行\n。這轉義序列意味着新的生產線,所以後一切都將「包裝」:

var phoneNumberArray : [String] = self.phoneNumber.characters.map{String($0)} 
phoneNumberArray.remove(at:0) 
phoneNumberArray.insert("-", at: 6) 
phoneNumberArray.insert("\n", at: 3) 
phoneNumberArray.insert(")", at: 3) 
phoneNumberArray.insert("(", at: 0) 
let finalString: String = phoneNumberArray.joined() 

此代碼未經測試,但應該工作。

+0

謝謝@IanMoses。這正是我所期待的。 –

相關問題