gpt4 book ai didi

ios - 如何获取 NSString 中特定字符的所有 NSRange?

转载 作者:IT王子 更新时间:2023-10-29 08:07:31 26 4
gpt4 key购买 nike

我有两个 NSString:orgTextsearchLetter
我想用红色突出显示 orgText 中每次出现的 searchLetter。
我怎样才能得到 searchLetter 所有出现的 NSRange
例如:

suppose: orgText = "abcahaiapaoiuiapplma"
searchLetter = "a".

我想用红色突出显示“abcahaiapaoiuiapplma”中出现的所有“a”。
谢谢。

最佳答案

我为我的项目编写了这个方法 - SUITextView with highlight :

- (NSMutableAttributedString*) setColor:(UIColor*)color word:(NSString*)word inText:(NSMutableAttributedString*)mutableAttributedString {

NSUInteger count = 0, length = [mutableAttributedString length];
NSRange range = NSMakeRange(0, length);

while(range.location != NSNotFound)
{
range = [[mutableAttributedString string] rangeOfString:word options:0 range:range];
if(range.location != NSNotFound) {
[mutableAttributedString setTextColor:color range:NSMakeRange(range.location, [word length])];
range = NSMakeRange(range.location + range.length, length - (range.location + range.length));
count++;
}
}

return mutableAttributedString;
}

在我的 NSMutableAttributedString 类别中:

- (void) setTextColor:(UIColor*)color range:(NSRange)range {
// kCTForegroundColorAttributeName
[self removeAttribute:(NSString*)kCTForegroundColorAttributeName range:range]; // Work around for Apple leak
[self addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id)color.CGColor range:range];
}

关于ios - 如何获取 NSString 中特定字符的所有 NSRange?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8533691/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com