我做了一個語法突出顯示,我需要用標籤中的這個單詞替換所有出現的特殊單詞。例如我有:用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