我正在尝试更改角色的颜色以及随附的任何文字,我使用NSRegularExpression
来获取角色,但我不知道如何更改后续角色,例如这里是我的文字:
● Title......
some description xxxxxx x x x x x
所以在这种情况下,我需要更改此●
字符的颜色和跟随字符串
这是代码:
NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"●"
options:kNilOptions error:nil];
[regex2 enumerateMatchesInString:PureText options:kNilOptions range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange subStringRange = [result rangeAtIndex:0];
[stringText addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:subStringRange];
}];
_textView.attributedText = stringText;
此代码仅查找和更改字符的颜色。
答案 0 :(得分:1)
使用正则表达式●.*
匹配换行符前点后的所有字符:
NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"●.*"
options:kNilOptions error:nil];
[regex2 enumerateMatchesInString:PureText options:kNilOptions range:range usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSRange subStringRange = [result rangeAtIndex:0];
[stringText addAttribute:NSForegroundColorAttributeName value:[UIColor orangeColor] range:subStringRange];
}];
_textView.attributedText = stringText;
答案 1 :(得分:0)
您的正则表达式仅查找点符号。像●.*
之类的东西怎么样?我不确定NSRegularExpression如何处理换行符,所以你可能也需要代表它们。