我想替换字符串中的一个字符,但只替换该字符的第一次出现。
我正在使用这个字符串扩展名!但它正在取代所有的出现
extension String {
func replace(target: String, withString: String) -> String
{
return self.stringByReplacingOccurrencesOfString(target, withString: withString, options: NSStringCompareOptions.LiteralSearch, range: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
你必须指定范围,这样你只能找到第一个
var str = "Hello, playground"
var strnigToReplace = "l"
var stringToReplaceTO = "d"
if let range = str.rangeOfString(strnigToReplace) {
str = str.stringByReplacingOccurrencesOfString(strnigToReplace, withString: stringToReplaceTO, options: NSStringCompareOptions.LiteralSearch, range: range)
}
Run Code Online (Sandbox Code Playgroud)
这将找到该字符的第一次出现,并将替换限制在该字符串的范围内。希望能帮助到你