7

文字列をコンポーネントごとに区切ることで配列を変更できますが、配列に多くの改行と空白が挿入され、それらを識別して削除する方法はありますか?

for (int i=0;i<contentsOfFile.count; i++) 
 {
        if(!([[contentsOfFile objectAtIndex:i]isEqual:@"\n"]||[[contentsOfFile     objectAtIndex:i]isEqual:@""]))
       [arrayToBereturned addObject:[contentsOfFile objectAtIndex:i]];
 }

私が使用しているこのコードは、すべての改行文字を識別できません。

4

4 に答える 4

21

文字列からすべての余分なスペースと\nを削除するには-

NSString* result = [yourString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

あなたのcontentsOfFile配列を準備するより。

于 2012-05-03T06:35:59.093 に答える
12

空白のない配列が必要な場合:

NSString *string = @"Hello, World!";
NSCharacterSet *separator = [NSCharacterSet whitespaceAndNewlineCharacterSet];
NSArray *stringComponents = [string componentsSeparatedByCharactersInSet:separator];
于 2012-05-03T06:34:44.220 に答える
10

stringByTrimmingCharachersInSet:文字列の最後と最初から目的の文字のみを削除します。すべてのオカレンスを削除するには、次を使用する必要がありますstringByReplacingOccurrencesOfString:

于 2012-09-17T12:19:49.570 に答える
0

Swift5バージョン

    let string = "Hello, stack overflow!"
    let components = string.components(separatedBy: .whitespacesAndNewlines)
    print(components) // prints ["Hello,", "stack", "overflow!"]

またについてstring.replacingOccurrences

    let string = " Hello, stack overflow     ! "
    let noSpacingsString = string.replacingOccurrences(of: " ", with: "")
    print(components) // prints "Hello,stackoverflow!"
于 2020-01-16T12:23:22.250 に答える