我有字符串0.1234要找到最后两个字符,我使用string.suffix(2)如果我使用NSRange在attributedString中找到此范围,它将很好地工作直到字符串不等于值。如果字符串类似于1.1212,则将nsrange应用于第一个找到的值(在这种情况下,string.suffix(2)= 12)因此格式将是错误的。
如何仅更改最后两个字符的字体。
您可以在String.Index
上使用string.endIndex
方法,其负偏移为2,并受string.startIndex
限制:
func index(_ i: String.Index, offsetBy n: String.IndexDistance, limitedBy limit: String.Index) -> String.Index?
let string = "1.1212"
if let start = string.index(string.endIndex, offsetBy: -2, limitedBy: string.startIndex) {
print(string[start..<string.endIndex]) // "12\n"
// or using a partial range
print(string[start...]) // "12\n"
}