[英]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.