我做了一个语法突出显示,我需要用标签中的这个单词替换所有出现的特殊单词。例如我有:用NSMutableString替换单词
@“int main {bla bla; float = 0; bla bla;”
,并希望得到
@” < \ FONT COLOR = FF00FF> INT < \ FONT>主{血乳酸血乳酸; < \ FONT COLOR = FF00FF>浮< \ FONT> = 0; “等等。
(不得不放在\ FONT之前)。 我有特殊字符数组,在html中有这个文本(与它一起浮动,我从UITextView contentAsHTMLString中获得它),并且只想放置颜色标签。如何?
试过stringByReplacingOccurrencesOfString但
PR < \ FONT COLOR = FF00FF> INT < \ FONT> f()的
不是我想要的。
尝试regexkitlite。[editString replaceOccurrencesOfRegex:[NSString stringWithFormat:@“[^ a-zA-z]%@ [^ a-zA-z]”,specialString] withString:[NSString stringWithFormat:@“$ 0%@ $ 1”,specialString] range :NSMakeRange(0,[editString length])];如果我从“withString”中删除$ 0和$ 1,它将不会替换“int”,而是“int”(无论是否接近int字)。
如果你真的想为任意代码样本语法高亮(你只覆盖C btw?)简单的替换和正则表达式都不会让你在那里 - 想想例如's =“int”;',转义换行符,typedefs,...我要么搜索现有的荧光笔,要么使用现有的解析器(例如clang的API)。 – 2011-05-12 18:35:05