7

我正在通过按组件分隔字符串来制作一个 nsmutable 数组,它导致在数组中插入大量新行和空格如何识别和删除它们?

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

斯威夫特 5 版本

    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 回答