如何在Objective-C中测试NSString是否为空?


当前回答

因此,除了检查字符串长度小于1的基本概念之外,深入考虑上下文也很重要。 人类、计算机或其他语言可能对空字符串有不同的定义,在这些相同的语言中,额外的上下文可能会进一步改变含义。

假设空字符串意味着“在当前上下文中不包含任何重要字符的字符串”。

这可能意味着在视觉上,颜色和背景颜色在带属性的字符串中是相同的。有效的空。

这可能意味着没有有意义的字符。所有的点、破折号或下划线都可能被认为是空的。 此外,空有意义的有效字符可能意味着一个字符串没有读者能理解的字符。 它们可以是定义为对读者毫无意义的语言或字符集中的字符。我们可以稍微不同地定义它,即字符串在给定语言中不构成已知单词。

我们可以说空是一个函数的负空间百分比的字形呈现。

即使是没有一般视觉表示的不可打印字符序列也不是真正的空字符。我想到了控制字符。特别是低ASCII范围(我很惊讶没有人提到这些,因为它们包含许多系统,而不是空白,因为它们通常没有字形和可视指标)。然而,字符串长度不是零。

结论。 长度本身并不是唯一的衡量标准。 上下文集成员也非常重要。

字符集隶属度是一种非常重要的常用附加度量。 有意义的序列也是相当常见的。(想想SETI、加密或验证码) 还存在其他更抽象的上下文集。

因此,在假设字符串仅根据长度或空格为空之前请仔细考虑。

其他回答

看看这个:

if ([yourString isEqualToString:@""])
{
    NsLog(@"Blank String");
}

Or

if ([yourString length] == 0)
{
    NsLog(@"Blank String");
}

希望这能有所帮助。

因此,除了检查字符串长度小于1的基本概念之外,深入考虑上下文也很重要。 人类、计算机或其他语言可能对空字符串有不同的定义,在这些相同的语言中,额外的上下文可能会进一步改变含义。

假设空字符串意味着“在当前上下文中不包含任何重要字符的字符串”。

这可能意味着在视觉上,颜色和背景颜色在带属性的字符串中是相同的。有效的空。

这可能意味着没有有意义的字符。所有的点、破折号或下划线都可能被认为是空的。 此外,空有意义的有效字符可能意味着一个字符串没有读者能理解的字符。 它们可以是定义为对读者毫无意义的语言或字符集中的字符。我们可以稍微不同地定义它,即字符串在给定语言中不构成已知单词。

我们可以说空是一个函数的负空间百分比的字形呈现。

即使是没有一般视觉表示的不可打印字符序列也不是真正的空字符。我想到了控制字符。特别是低ASCII范围(我很惊讶没有人提到这些,因为它们包含许多系统,而不是空白,因为它们通常没有字形和可视指标)。然而,字符串长度不是零。

结论。 长度本身并不是唯一的衡量标准。 上下文集成员也非常重要。

字符集隶属度是一种非常重要的常用附加度量。 有意义的序列也是相当常见的。(想想SETI、加密或验证码) 还存在其他更抽象的上下文集。

因此,在假设字符串仅根据长度或空格为空之前请仔细考虑。

只需使用一个if else条件,如下所示:

方法1:

if ([yourString isEqualToString:@""]) {
        // yourString is empty.
    } else {
        // yourString has some text on it.
    }

方法2:

if ([yourString length] == 0) {
    // Empty yourString
} else {
    // yourString is not empty
}

你可以很容易地检查字符串是否为空:

if ([yourstring isEqualToString:@""]) {
    // execute your action here if string is empty
}

空字符串有两种方式:

1) @"" //不包含空格

2) @" " //包含空格

严格来说,这两个字符串都是空的。我们可以用条件一来写出这两个式子

if ([firstNameTF.text stringByReplacingOccurrencesOfString:@" " withString:@""].length==0)
{
    NSLog(@"Empty String");
}
else
{
    NSLog(@"String contains some value");
}