2
<NSSimpleRegularExpressionCheckingResult: 0x100217890>{0, 4}{<NSRegularExpression: 0x100214700> test 0x1}

これは、正規表現検索の結果を格納する配列内の 1 つの要素です。

私は欲しいものを手に入れました:「テスト」。ただし、その周りのすべてのものは必要ありません。

<NSSimpleRegularExpressionCheckingResult: 0x100217890>{0, 4}{<NSRegularExpression: 0x100214700> etc

この要素に何かを送信する必要があると感じています。

[要素文字列値];

しかし、それが何であるかを発見するには少し助けが必要です..

私の完全なコードは以下の通りです:

NSString *test = @"test 123 test";
NSRegularExpression* regex = [[NSRegularExpression alloc] initWithPattern:@"test" options:NSRegularExpressionCaseInsensitive error:nil];
NSArray* result = [regex matchesInString:test options:0 range:NSMakeRange(0, [test length])];
NSLog(@" %@", [result objectAtIndex:0]);

出すもの

 <NSSimpleRegularExpressionCheckingResult: 0x105b17890>{0, 4}{<NSRegularExpression: 0x105b14700> test 0x1}

ありがとう!!

4

2 に答える 2

3
[regex matchesInString...

NSTextCheckingResultsのNSArrayを提供します。firstMatchInSting:options:range:を使用すると、NSTextCheckingResultが得られます。この結果から、substringWithRange:メソッドを使用して文字列に適用する範囲(NSRange)を取得できます。

ご理解いただければ幸いです。そうでない場合-私はもっと注意深く説明します。それでも、NSRegularExpressionリファレンスNSTextCheckingResultリファレンスを読んでください

于 2012-06-15T16:00:04.730 に答える
0

わかった。プロセスを作っています。要素に「regularExpression」を送ると、結果が絞り込まれます

<NSRegularExpression: 0x106214700> test 0x1

これがオブジェクトの出力であることは承知していますが、テキストを分離する方法がまだわかりません!

于 2012-06-15T15:48:45.627 に答える