2017-04-17 73 views
1

我有一些字符串如「MD。穆尼爾 - 烏茲 - 扎曼穆尼爾」「MD。穆尼爾 - 烏茲 - 扎曼Monir01」「MD。 Monir-Uz-Zaman Monir876「 ....現在我想從第20個位置個字符到最後一個。其實我想輸出像「Monir」,「Monir01」,「Monir876」 ...完整的字符串不固定,但第19個字符是固定的。採取字符去年(SWIFT 3)

我已經在迅速2.做了什麼,但會回答迅速3.

let nameString = str.substringWithRange(Range<String.Index>(start: str.startIndex.advancedBy(19), end: str.endIndex.advancedBy(0))) 
+1

的[如何在斯威夫特3串子工作(可能的複製http://stackoverflow.com/questions/39677330/how-does-string-substring-work-in-swift-3 ) – karthikeyan

+0

可能的重複[你如何使用String.substringWithRange? (或者,範圍如何在Swift中工作?)](http://stackoverflow.com/questions/24044851/how-do-you-use-string-substringwithrange-or-how-do-ranges-work-in-swift ) – nayem

+0

謝謝,它的工作原理。 –

回答

2

使用​​與數組,然後簡單地使用substring(from:)用速記的說法。

let strArray = ["Md. Monir-Uz-Zaman Monir", "Md. Monir-Uz-Zaman Monir01", "Md. Monir-Uz-Zaman Monir876"] 
let nameArray = strArray.map { $0.substring(from: $0.index($0.startIndex, offsetBy: 19)) } 
print(nameArray) //["Monir", "Monir01", "Monir876"] 
1

字符串轉換爲數組,並得到最後一個對象。嘗試下面的代碼

let string : String = "Md. Monir-Uz-Zaman Monir" 
    let fullNameArr = string.characters.split{$0 == " "}.map(String.init) 
    print(fullNameArr[fullNameArr.count-1]) 
1
// swift 3 
let input = "Md. Monir-Uz-Zaman Monir" 
let start = input.index(input.startIndex, offsetBy: 19) 
let required = input[start..<input.endIndex] // "Monir