2009-04-17 5 views
2

this guideによると、私は文字列に正規表現のマッチングを行うためにNSPredicateを使用することができ、すなわち、Perlの$my_string =~ m/[some regex]/iPhone/Cocoa:NSPredicate regexを置き換えますか?

の同等しかし、私は正規表現を置き換える行うことができますが、このPerlの式の、すなわち同等:$my_string =~ s/[pattern]/[replacement]/g

答えて

3

この機能はCocoaではネイティブでは使用できませんが、標準のc regex.h関数はhereと記述されているように使用できます(ページの4分の3)。

トリックを行う可能性のあるObjPCREというオープンソースライブラリもあります。

誰かがそれを働かせることができましたusing JavascriptCore

幸運を祈る!

9

Google Toolbox for Macには、いくつかの便利な正規表現機能があります。それはiPhone上で動作します。 GTMRegex.hをご覧ください。この方法ではNSStringの上のカテゴリがあります:

- (NSString *)gtm_stringByReplacingMatchesOfPattern:(NSString *)pattern withReplacement:(NSString *)replacementPattern; 
6

私が見つけた最も簡単な解決策はRegexKitLiteです:

http://regexkit.sourceforge.net/

(「ライト」バージョンに注意してくださいあなたが使用するものですiPhone)

プロジェクトに追加するファイルは2つだけです。リンカの-licucoreフラグ。それは組み込みの正規表現能力を使用します。

NSString拡張機能があります。これには置換を行うものも含まれますが、番号で複数の一致を引き出すこともできます。

0

iOS 4.0以降とMac OS X 10.7以降では、NSRegularExpression

を使用できます。
関連する問題