我有字典数组
[
{
"price": 0,
"test_name": "Multislice CT Scan Virtual Bronchoscopy"
},
{
"price": 0,
"test_name": "Multislice CT Scan Dental"
},
{
"price": 0,
"test_name": "Multislice CT Scan Joint (3D)"
},
{
"price": 0,
"test_name": "Multislice CT Scan Lumbar"
},
{
"price": 0,
"test_name": "Multislice CT Scan Spine - Cervical / Thoracic"
},
{
"price": 0,
"test_name": "Multislice CT Scan CT Urography"
}
]
然后将这个
Dictionary
数组转换为NSString
,就像在每个字典值的末尾附加\ n一样Multislice CT Scan Virtual Bronchoscopy
Rs.0
Multislice CT Scan Dental
Rs.0
Multislice CT Scan Joint (3D)
Rs.0
Multislice CT Scan Lumbar
Rs.0
Multislice CT Scan Spine - Cervical / Thoracic
Rs.0
Multislice CT Scan CT Urography
Rs.0
Multislice CT Scan (Arterial + Portal + Venous)
Rs.0
Multislice CT Scan Abdomen Triphasic Lever
Rs.0
现在我想在RedColor中使用Rs.0字符串...如何为该特定字符串赋予红色?
正在使用静态表..将整个字符串分配给单个标签。
最佳答案
尝试使用这种方法,所有Rs.0将显示为红色
NSString *str = @"Multislice CT Scan Virtual Bronchoscopy Rs.0 Multislice CT Scan Dental Rs.0";
NSMutableAttributedString *attributedString =[[NSMutableAttributedString alloc] initWithString:str];
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(Rs.[0-9]*)" options:kNilOptions error:nil];
NSRange range = NSMakeRange(0,strFirst.length);
[regex enumerateMatchesInString:strFirst options:kNilOptions range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange subStringRange = [result rangeAtIndex:1];
[attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:subStringRange];
}];
self.label.attributedText = attributedString;
希望这会帮助你。
关于ios - 如何将UIcolor分配给NSString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37893776/