2016-08-27 3 views
6

У меня есть textField, и я хотел бы удалить все символы после определенного символа.Удалить все символы после определенного символа из строки в Swift

Например, если я имею в TextField слово Orange и я хочу, чтобы удалить все символы после n я хотел бы получить Ora после удаления.

Как удалить все символы после определенного символа из строки в Swift?

Благодаря

ответ

10

Вы можете использовать rangeOfString и substringToIndex его STARTINDEX следующим образом:

Swift 2

let word = "orange" 
if let index = word.rangeOfString("n")?.startIndex { 
    print(word.substringToIndex(index)) // "ora" 
} 

Swift 3

let word = "orange" 
if let index = word.range(of: "n")?.lowerBound { 
    print(word.substring(to: index)) // "ora" 
} 

Свифта 4

let word = "orange" 
if let index = word.range(of: "n")?.lowerBound { 
    let substring = word[..<index] 
    let string = String(substring) 
    print(string) // "ora" 
} 
1

Вы могли бы сделать это следующим образом:

guard let range = text.rangeOfString("Your String or Character here") else { 
    return the text 
} 

return text.substringToIndex(range.endIndex) 
// depending on if you want to delete before a certain string, you would use range.startIndex 
Смежные вопросы