ios - vazio - verificar se é string javascript




Como faço para testar se uma string está vazia no Objective C? (20)

Versão rápida

Mesmo que esta seja uma questão do Objective C, eu precisava usar o NSString no Swift, então eu também incluirei uma resposta aqui.

let myNSString: NSString = ""

if myNSString.length == 0 {
    print("String is empty.")
}

Ou se o NSString for um Opcional:

var myOptionalNSString: NSString? = nil

if myOptionalNSString == nil || myOptionalNSString!.length == 0 {
    print("String is empty.")
}

// or alternatively...
if let myString = myOptionalNSString {
    if myString.length != 0 {
        print("String is not empty.")
    }
}

A versão normal do Swift String é

let myString: String = ""

if myString.isEmpty {
    print("String is empty.")
}

Veja também: Verificar string vazia no Swift?

Como faço para testar se um NSString está vazio no Objective C?


É tão simples como if([myString isEqual:@""]) ou if([myString isEqualToString:@""])


A melhor maneira, em qualquer caso, é verificar o comprimento da string dada. Para isso, se sua string for myString, o código será:

    int len = [myString length];
    if(len == 0){
       NSLog(@"String is empty");
    }
    else{
      NSLog(@"String is : %@", myString);
    }

A primeira abordagem é válida, mas não funciona se sua string tiver espaços em branco ( @" " ). Portanto, você deve limpar esses espaços em branco antes de testá-lo.

Este código limpa todos os espaços em branco nos dois lados da string:

[stringObject stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ];

Uma boa ideia é criar uma macro, para que você não precise digitar essa linha de monstro:

#define allTrim( object ) [object stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ]

Agora você pode usar:

NSString *emptyString = @"   ";

if ( [allTrim( emptyString ) length] == 0 ) NSLog(@"Is empty!");

Apenas passe sua string para o seguinte método:

+(BOOL)isEmpty:(NSString *)str
{
    if(str.length==0 || [str isKindOfClass:[NSNull class]] || [str isEqualToString:@""]||[str  isEqualToString:NULL]||[str isEqualToString:@"(null)"]||str==nil || [str isEqualToString:@"<null>"]){
        return YES;
    }
    return NO;
}

Apenas use uma das condições if else como mostrado abaixo:

Método 1:

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

Método 2:

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

Está funcionando como charme para mim

Se o NSString é s

if ([s isKindOfClass:[NSNull class]] || s == nil || [s isEqualToString:@""]) {

    NSLog(@"s is empty");

} else {

    NSLog(@"s containing %@", s);

}

Eu coloquei isso:

@implementation NSObject (AdditionalMethod)
-(BOOL) isNotEmpty
{
    return !(self == nil
    || [self isKindOfClass:[NSNull class]]
    || ([self respondsToSelector:@selector(length)]
        && [(NSData *)self length] == 0)
    || ([self respondsToSelector:@selector(count)]
        && [(NSArray *)self count] == 0));

};
@end

O problema é que, se self é nulo, essa função nunca é chamada. Ele retornará falso, o que é desejado.


Outra opção é verificar se é igual a @"" com isEqualToString: forma:

if ([myString isEqualToString:@""]) {
    NSLog(@"myString IS empty!");
} else {
    NSLog(@"myString IS NOT empty, it is: %@", myString);
}

Pode ser que esta resposta seja a duplicata de respostas já dadas, mas fiz poucas modificações e alterações na ordem de checar as condições. Por favor, consulte o código abaixo:

+(BOOL)isStringEmpty:(NSString *)str
    {
        if(str == nil || [str isKindOfClass:[NSNull class]] || str.length==0) {
            return YES;
       }
        return NO;
    }

Post muito útil, para adicionar suporte NSDictionary, bem como uma pequena alteração

static inline BOOL isEmpty(id thing) {
    return thing == nil
    || [thing isKindOfClass:[NSNull class]]
    || ([thing respondsToSelector:@selector(length)]
        && ![thing respondsToSelector:@selector(count)]
        && [(NSData *)thing length] == 0)
    || ([thing respondsToSelector:@selector(count)]
        && [thing count] == 0);
}

Tente o seguinte

NSString *stringToCheck = @"";

if ([stringToCheck isEqualToString:@""])
{
   NSLog(@"String Empty");
}
else
{
   NSLog(@"String Not Empty");
}

Você deve usar melhor esta categoria:

@implementation NSString (Empty)

    - (BOOL) isWhitespace{
        return ([[self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]length] == 0);
    }

@end

Você pode facilmente verificar se a string está vazia com isso:

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

Você pode verificar se [string length] == 0 . Isto irá verificar se é uma string válida, mas vazia (@ ""), bem como se é nulo, já que chamar length on nil também retornará 0.


Você pode verificar se sua string está vazia ou não usando este método:

+(BOOL) isEmptyString : (NSString *)string
{
    if([string length] == 0 || [string isKindOfClass:[NSNull class]] || 
       [string isEqualToString:@""]||[string  isEqualToString:NULL]  ||
       string == nil)
     {
        return YES;         //IF String Is An Empty String
     }
    return NO;
}

A melhor prática é fazer com que uma classe compartilhada diga UtilityClass e ad this method para que você possa usar esse método apenas chamando-a pelo aplicativo.


verifique isso:

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

Ou

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

Espero que isso ajude.


//Different validations:
 NSString * inputStr = @"Hey ";

//Check length
[inputStr length]

//Coming from server, check if its NSNull
[inputStr isEqual:[NSNull null]] ? nil : inputStr

//For validation in allowed character set
-(BOOL)validateString:(NSString*)inputStr
{
    BOOL isValid = NO;
    if(!([inputStr length]>0))
    {
        return isValid;

    }

    NSMutableCharacterSet *allowedSet = [NSMutableCharacterSet characterSetWithCharactersInString:@".-"];
    [allowedSet formUnionWithCharacterSet:[NSCharacterSet decimalDigitCharacterSet]];
    if ([inputStr rangeOfCharacterFromSet:[allowedSet invertedSet]].location == NSNotFound)
    {
        // contains only decimal set and '-' and '.'

    }
    else
    {
        // invalid
        isValid = NO;

    }
    return isValid;
}

if( [txtMobile.text length] == 0 )
{
    [Utility showAlertWithTitleAndMessage: AMLocalizedString(@"Invalid Mobile No",nil) message: AMLocalizedString(@"Enter valid Mobile Number",nil)];
}

if(str.length == 0 || [str isKindOfClass: [NSNull class]]){
    NSLog(@"String is empty");
}
else{
    NSLog(@"String is not empty");
}    






nsstring