1

文字の配列として表される文字列に問題があります。Javaで行うように、私がやりたいことは次のとおりです。

     while (i < chars.length) {
        char ch = chars[i];
        if ((WORD_CHARS.indexOf(ch) >= 0) == punctuation) {

            String token = buffer.toString();
            if (token.length() > 0) {
                parts.add(token);
            }
            buffer = new StringBuffer();

        }
        buffer.append(ch);
        i++;
    }

私がやっていることは次のようなものです:

while(i < strlen(chars)) {

    char ch = chars[i];
    if(([WORD_CHARS rangeOfString:ch] >= 0) == punctuation) {

        NSString *token = buffer.toString();
        if([token length] > 0) {
            [parts addObject:token];
        }
        buffer = [NSMutableString string];
    }
    [buffer append(ch)];
    i++;
}

どのように変換すればよいかわかりません

 String token = buffer.toString();

buffer は NSMutableString です。また、目的cのif条件を確認するにはどうすればよいですか?

if ((WORD_CHARS.indexOf(ch) >= 0) == punctuation) 

WORD_CHARS は NSString です。ch をバッファに追加することにも問題があります。

どんな助けでも大歓迎です。

4

2 に答える 2

6

行ごとの翻訳が最善の方法ではない場合があります。

charsNSString;の場合、この (テストされていない) コードにもっと似たことをします。

NSCharacterSet *punctuation = 
    [NSCharacterSet characterSetWithCharactersInString:@"<your separators>"];
NSArray *parts = [chars componentsSeparatedByCharactersInSet:punctuation];

partsこれにより、句読点で分割された元の NSString を含む NSString の NSArray が残るはずです。

于 2013-06-30T11:23:12.543 に答える