2010年5月6日 星期四

iOS 開發教學 - Regular Expression 之使用 RegexKitLite

處理字串很容易就會用到 Regular Expression 啦!在 iPhone SDK 中雖然可以用 regex ,但卻少了物件導向的方便性。所幸,有方便的 library 可以用,那就是 RegexKitLite - Lightweight Objective-C
Regular Expressions for Mac OS X using
the ICU Library
囉!

用法不難,網路上也滿多相關文章的,簡單筆記:


  • 下載 RegexKitLite-4.0.tar.bz2 (139.1K)

  • 把裡頭兩個檔案 RegexKitLite.h 和 RegexKitLite.m 拉到你的專案下,並且增加編譯程式的參數

    • [Xcode]->[Project]->[Edit Project Settings]->[Linking]->[Other Linker Flags]-> 增加 '-licucore' 即可

簡單的範例

片段程式碼:

NSString *list    = @"<a href='t1.html'>t1</a><a href='t2.html'>t2</a><a href='t2.html'>t2</a>";
NSArray *listItems = [list arrayOfCaptureComponentsMatchedByRegex:@"href=['\"](.*?)['\"]"];
  
NSLog( @"%@" , listItems );

輸出:

(
        (
        "href='t1.html'",
        "t1.html"
    ),
        (
        "href='t2.html'",
        "t2.html"
    ),
        (
        "href='t2.html'",
        "t2.html"
    )
)

剩下的使用可以參考 RegexKitLite-4.0.pdf

1 則留言:

  1. 請問用這個 library ,審核會過嗎?

    版主回覆:(05/21/2012 02:41:50 PM)


    耶, 這我就沒經驗了 XD 你可能需要問問其他人囉
    當初僅研究一下, 就沒再用了

    回覆刪除