我有一个textField
,我想删除某个字符后面的所有字符。
例如,如果我的textField
中有单词Orange
,我想要删除字母n
后面的所有字符,我希望在删除后得到Ora
。
如何在Swift中删除某个字符后面的所有字符?
谢谢!
我有一个textField
,我想删除某个字符后面的所有字符。
例如,如果我的textField
中有单词Orange
,我想要删除字母n
后面的所有字符,我希望在删除后得到Ora
。
如何在Swift中删除某个字符后面的所有字符?
谢谢!
StringProtocol
的方法range(of string:)
,获取结果的范围下界(lowerBound),然后用它创建一个 PartialRangeUpTo
,并对原始字符串进行子脚本(subscript):
Swift 4或更高版本
let word = "orange"
if let index = word.range(of: "n")?.lowerBound {
let substring = word[..<index] // "ora"
// or let substring = word.prefix(upTo: index) // "ora"
// (see picture below) Using the prefix(upTo:) method is equivalent to using a partial half-open range as the collection’s subscript.
// The subscript notation is preferred over prefix(upTo:).
let string = String(substring)
print(string) // "ora"
}
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
prefix(upTo:)
和suffix(from:)
方法。如果可以找到 "n" 的位置,我会这样写:if let index = word.range(of: "n")?.lowerBound { let StringAfter = String(word.prefix(upTo: index)) }
- fs_tigre