I have a function:
func IphoneName() -> String
{
let device = UIDevice.currentDevice().name
return device
}
Which returns the name of the iPhone (simple). I need to remove the "'s Iphone"
from the end. I have been reading about changing it to NSString and use ranges, but I am a bit lost!
What about this:
extension String {
func removeCharsFromEnd(count:Int) -> String{
let stringLength = countElements(self)
let substringIndex = (stringLength < count) ? 0 : stringLength - count
return self.substringToIndex(advance(self.startIndex, substringIndex))
}
func length() -> Int {
return countElements(self)
}
}
Test:
var deviceName:String = "Mike's Iphone"
let newName = deviceName.removeCharsFromEnd("'s Iphone".length()) // Mike
But if you want replace method use stringByReplacingOccurrencesOfString
as @Kirsteins
posted:
let newName2 = deviceName.stringByReplacingOccurrencesOfString(
"'s Iphone",
withString: "",
options: .allZeros, // or just nil
range: nil)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With