如何仅更改最后两个字符的字符串中的字体

问题描述 投票:0回答:1

我有字符串0.1234要找到最后两个字符,我使用string.suffix(2)如果我使用NSRange在attributedString中找到此范围,它将很好地工作直到字符串不等于值。如果字符串类似于1.1212,则将nsrange应用于第一个找到的值(在这种情况下,string.suffix(2)= 12)因此格式将是错误的。

如何仅更改最后两个字符的字体。

enter image description here

swift range nsattributedstring nsrange nsmutableattributedstring
1个回答
0
投票

您可以在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"
}
© www.soinside.com 2019 - 2024. All rights reserved.