-1

このようにAPIから文字列を取得しています

  New version of WhatsApp Messenger is
  now available.
  JANUARY 12, 2013
  Your upgrade will bring improvements, larger
  group chats and new features such as
  Profile Photos!

上記の文字列から段落を取得する方法はありますか?

使った NSArray *paragraphs = [result componentsSeparatedByString:@"\n"];

私の要件によれば、3つの文字列が必要です

 paragraphs=   {
          "New version of WhatsApp Messenger is now available."
          "JANUARY 12, 2013"
          "Your upgrade will bring improvements, larger  group chats and new features such as Profile Photos!"

    }

しかし、その戻り

paragraphs= {
      "New version of WhatsApp Messenger is"
      "now available."
      "JANUARY 12, 2013"
      "Your upgrade will bring improvements, larger"
      "group chats and new features such as"
      "Profile Photos!"
 }  
4

3 に答える 3

0

これを試すことができます:

    NSArray* newLinestring = [result componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];

    NSMutableArray *newLinesArray = [NSMutableArray array];

   [result enumerateSubstringsInRange:NSMakeRange(0, result.length) options:NSStringEnumerationByParagraphs usingBlock:^(NSString *substring, NSRangesubstringRange, NSRange enclosingRange, BOOL *stop) {
  // ADD TO AN ARRAY HERE THE SUBSTRINGS
 }];
于 2014-09-17T10:46:07.577 に答える
0

改行が 5 つあるため、出力は正しいことがわかります。入力はあなたが望むものではありません。あなたの入力は次のとおりです。

New version of WhatsApp Messenger is now available.
JANUARY 12, 2013
Your upgrade will bring improvements, larger group chats and new features such as Profile Photos!
于 2014-09-17T11:54:53.880 に答える
0

これはあなたの質問のハックです

1 すべての改行文字の範囲を確認します。

2 特定の範囲の改行文字を削除します。

3.完了

1.  int count = 0;
    for (unsigned int i=0; i < [result length]; ++i) {
        if ([result characterAtIndex:i] == '\n') {
            NSLog(@"index %i",i);
            ++count;

        }
    }

2.  

    NSRange first = {36, 1};
    NSRange fourth= {113,1};
    NSRange fifth={150,1};
    NSString *stringWithSpaces;

    stringWithSpaces = [result stringByReplacingCharactersInRange:first withString:@" "];
    result=stringWithSpaces;
    stringWithSpaces = [result stringByReplacingCharactersInRange:fourth withString:@" "];
    result=stringWithSpaces;
    stringWithSpaces = [result stringByReplacingCharactersInRange:fifth withString:@" "];
    result=stringWithSpaces;

     NSArray *paragraphs = [result componentsSeparatedByString:@"\n"];
     NSLog(@"Paragraph=%@",paragraphs);
  1. 終わり。

    幸せなコーディング

于 2014-09-20T07:16:57.863 に答える