2016-08-27 18 views
6

textFieldがあります。特定の文字の後にすべての文字を削除したいと思います。例えばSwiftの文字列から特定の文字の後のすべての文字を削除

私はテキストフィールドを持っていることは言葉Orangeであると私は削除後Oraを取得したいと思いn後のすべての文字を削除したい場合。

Swiftの文字列から特定の文字の後にあるすべての文字を削除するにはどうすればよいですか?

おかげ

答えて

10

あなたは次のようにそのstartIndexのにrangeOfStringとsubstringToIndexを使用することができます。

スウィフト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 
関連する問題