iOS 去除字符串中的空格或多余空格(适合英文单词)
2016-11-14 18:04
921 查看
NSString -stringByTrimmingCharactersInSet: 是个你需要牢牢记住的方法。它经常会传入 NSCharacterSet +whitespaceCharacterSet 或 +whitespaceAndNewlineCharacterSet 来删除输入字符串的头尾的空白符号。
需要重点注意的是,这个方法 仅仅 去除了 开头 和 结尾 的指定字符集中连续字符。这就是说,如果你想去除单词之间的额外空格,请看下一步。
假设你去掉字符串两端的多余空格之后,还想去除单词之间的多余空格,这里有个非常简便的方法:
NSString *string = @"Lorem ipsum dolar sit amet.";
string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSArray *components = [string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
components = [components filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self <> ''"]];
string = [components componentsJoinedByString:@" "];//按单空格分割
步骤是:首先,删除字符串首尾的空格;然后用 NSString -componentsSeparatedByCharactersInSet: 在空格处将字符串分割成一个 NSArray;再用一个 NSPredicate 去除空串;最后,用 NSArray -componentsJoinedByString: 用单个空格符将数组重新拼成字符串。注意:这种方法仅适用于英语这种用空格分割的语言。
需要重点注意的是,这个方法 仅仅 去除了 开头 和 结尾 的指定字符集中连续字符。这就是说,如果你想去除单词之间的额外空格,请看下一步。
假设你去掉字符串两端的多余空格之后,还想去除单词之间的多余空格,这里有个非常简便的方法:
NSString *string = @"Lorem ipsum dolar sit amet.";
string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSArray *components = [string componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
components = [components filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self <> ''"]];
string = [components componentsJoinedByString:@" "];//按单空格分割
步骤是:首先,删除字符串首尾的空格;然后用 NSString -componentsSeparatedByCharactersInSet: 在空格处将字符串分割成一个 NSArray;再用一个 NSPredicate 去除空串;最后,用 NSArray -componentsJoinedByString: 用单个空格符将数组重新拼成字符串。注意:这种方法仅适用于英语这种用空格分割的语言。
相关文章推荐
- 去除字符串中单词的多余空格
- 去除字符串中单词的多余空格
- Java去除字符串多余空格以及首尾空格
- Java去除字符串多余空格以及首尾空格
- 第16周项目2--用指针玩字符串(去除第一个单词前的空格)
- 第十六周项目二 用指针玩转字符串-去除所有多余空格
- 第十六周项目二用指针玩字符串任务六:去除句子中所有多余的空格(用指针作形参)
- 去除字符串中多余的空格 C语言实现
- 第十六周项目二 用指针玩转字符串-去除第一个单词前空格
- 第16周项目2--用指针玩字符串(去除句子中所有多余的空格)
- 第十六周项目 2 用指针玩字符串——去除第一个单词前的空格
- 第十六周 项目二--用指针玩字符串(2.5去除句子中第一个单词前的空格并返回--指针作形参)
- 去除字符串多余的空格
- 去除str1中的多余空格(即两个单词中间仅保留一个空格)
- 第十六周项目二——用指针玩字符串(5.去除句子第一个单词前的空格)
- char* 应用, 去除字符串内多余空格, 用算法而非库函数
- 去除输入字符串中的多余空格
- 编写一个函数用于去除字符串中多余的空格,,
- 第十六周 项目二--用指针玩字符串(2.6去除句子中多余的空格--指针作为形式参数)
- 第十六周项目2-用指针玩字符串(任务五:去除句子中第一个单词前的空格)