0

正規表現を使用して、文字列をタブなどで区切ってさまざまな部分に分割しようとしています。各パーツを別の場所に保存したいので、質問は正規表現のすべての結果を正しく使用する方法ですか? 私の正規表現はこれだとしましょう:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(?:\t|^)([^\"\t]+|\"(?:[^\"]|\"\")*\")?"
                                options:NSRegularExpressionCaseInsensitive error:&error];
    NSUInteger numberOfMatches = [regex numberOfMatchesInString:string
                                options:0 range:NSMakeRange(0, [string length])];

ファイルを一度に 1 行ずつ読み取るため (理由によりこれを行う必要があります)、これは、各行で部分文字列を検索するために使用しているコードの一部です。

for(int i=0;i<[myFile numberOfLines];i++){

        aRow = [[myFile fileRows] objectAtIndex:i];            

        NSArray* results = [regex matchesInString:aRow options:0 range:NSMakeRange(0, [aRow length])];
        for (NSTextCheckingResult* result in results) {

            NSString* resultString = [string substringWithRange:result.range];
            NSLog(@"I should be storing this as a correctly separated word:\t%@",resultString);
        }
    }

私は何を間違っている/行方不明ですか? 印刷された結果は、表示されるべきだと思うものを示していません... (myFile / fileRows / numberOfLines / current row / aRow は正しく機能し、投稿前にチェック、ダブルチェック、トリプルチェックされているはずのものを含んでいます)

追加情報: 入力ファイル:

 number letter  data    something
 1  g   dvsfg   sdf
 2  az  "dbfghe fgh"    s
 4  b   wdf fghfgh
 3  c   sdgy    fdgh
 5  d   egfn    dkjfghfgkhj

戻り値 (NSLog 単位:)

_____________number letter  data    something
 _____________number    letter
 _____________numbe
 _____________r da
 _____________a 
 _____________number    letter  
 _____________number    letter
 _____________number    letter  data    s

それ以外の:

number
letter
data
something
1
g
dvsfg

...など(ポイントを取得します。各タブは、異なるNSLogメッセージの「単語」で区切られています)

4

1 に答える 1