簡體   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