繁体   English   中英

替换NSMutableString中的单词

[英]Replace words in NSMutableString

我做了一个语法荧光笔,我需要用标记中的这个单词替换所有出现的特殊单词。 例如我有:

@“ int main {bla bla; float = 0; bla bla;”

想要得到

@“ <\\ FONT COLOR = FF00FF> int <\\ FONT> main {bla bla; <\\ FONT COLOR = FF00FF> float <\\ FONT> = 0;” 等等

(必须将\\放在FONT之前)。 我有specialwords数组,在html中有此文本(浮动,我从UITextView contentAsHTMLString那里得到),只想放入颜色标签。 如何?

尝试过stringByReplacingOccurrencesOfString但

pr <\\ FONT COLOR = FF00FF> int <\\ FONT> f()

不是我想要的

尝试正则表达式。 [editString replaceOccurrencesOfRegex:[NSString stringWithFormat:@“ [^ a-zA-z]%@ [^ a-zA-z]”,specialString] withString:[NSString stringWithFormat:@“ $ 0%@ $ 1”,specialString]范围: NSMakeRange(0,[editString length])];

创建异常(索引越界... O_O wtf?),如果我从“ withString”中删除$ 0和$ 1,它将不会替换“ int”,而是“ int”(也靠近int字)。

首先将颜色应用于“ int”事件:

NSString *initialString = @"int main{ bla bla; float=0; bla bla;";    
NSString *stringWithColorInt = [initialString stringByReplacingOccurrencesOfString:@"int" withString:@"<FONT COLOR=FF00FF>int<\FONT>" options:NSLiteralSearch range:NSRange(0,[initialString length])];

然后以“浮点数”出现:

NSString *stringWithColorFloat = [stringWithColorInt stringByReplacingOccurrencesOfString:@"float" withString:@"<FONT COLOR=FF00FF>float<\FONT>" options:NSLiteralSearch range:NSRange(0,[stringWithColorInt length])];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM