如何检查字符串是否包含空格

Xav*_*ero 22 iphone whitespace nsstring ios

如何检查字符串中是否包含空格?

Mat*_*uch 49

使用 rangeOfCharactersFromSet:

NSString *foo = @"HALLO WELT";
NSRange whiteSpaceRange = [foo rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]];
if (whiteSpaceRange.location != NSNotFound) {
    NSLog(@"Found whitespace");
}
Run Code Online (Sandbox Code Playgroud)

注意:这也会在字符串的开头或结尾找到空格.如果你不想首先修剪这个字符串......

NSString *trimmedString = [foo stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSRange whiteSpaceRange = [trimmedString rangeOfCharacterFromSet:[NSCharacterSet whitespaceCharacterSet]];
Run Code Online (Sandbox Code Playgroud)


uts*_*iem 5

您还可以按照以下步骤操作:

NSArray *componentsSeparatedByWhiteSpace = [testString componentsSeparatedByString:@" "];
Run Code Online (Sandbox Code Playgroud)

如果您的字符串中有任何空格,那么它将分隔这些空格并在数组中存储不同的组件.现在你需要计算数组.如果count大于1,则表示存在两个组件,即存在空白区域.

if([componentsSeparatedByWhiteSpace count] > 1){
    NSLog(@"Found whitespace");
}
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这非常慢.`testString`越长,与我使用的`rangeOfCharacterFromSet:`方法相比,它越慢.因为我今天早上很无聊,所以我比较了两种方法的表现并写了一篇[博客文章](http://matthiasbauch.com/2013/05/26/stackoverflow-how-to-check-whether-a-string-包含 - 白色空格/). (3认同)