NSPredicate 忽略字符串中的空格
NSPredicate Whitespace ignore in string
我有下面的代码验证字符串但是在第四个字符我想忽略用户输入的任何白色space因此字符串的长度增加了一个字符。
- (BOOL)validatePancard:(NSString *)candidate
{
NSString *panCardRegex = @"[A-Z]{5}[0-9]{4}[A-Z]{1}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", panCardRegex];
NSLog(@"valid : %d", [emailTest evaluateWithObject:candidate]);
return [emailTest evaluateWithObject:candidate];
}
提前致谢。
只需执行下面的代码即可。
BOOL isValid = [self validatePancard:@"ABC 5ZEXZ TRE"];
- (BOOL)validatePancard:(NSString *)candidate
{
NSMutableString *a = [NSMutableString stringWithString:candidate];
NSRange range;
range.location = 3; //Remove Character at forth position
range.length = 1; // number of character you want to remove
[a deleteCharactersInRange:range];
NSString *strImmutableString = [NSString stringWithString:a];
NSString *panCardRegex = @"[A-Z]{5}[0-9]{4}[A-Z]{1}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", panCardRegex];
NSLog(@"valid : %d", [emailTest evaluateWithObject:strImmutableString]);
return [emailTest evaluateWithObject:candidate];
}
//你可以使用其中的任何一个:-
////1)
NSString *YourOldString = @"Please Don't Kill Me";
NSString *NewString = [YourOldString stringByReplacingOccurrencesOfString:@"\s" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [YourOldString length])];
NSLog(@"Your New String is %@",NewString);
//2).
NSArray* YourArray = [YourOldString componentsSeparatedByCharactersInSet :[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSString* StringWithSpcs = [YourArray componentsJoinedByString:@""];
NSLog(@"The String is %@",StringWithSpcs);
//Or
//3).to remove only a given character from your string Use This
[YourOldString stringByReplacingOccurrencesOfString:@" " withString:@""];
我有下面的代码验证字符串但是在第四个字符我想忽略用户输入的任何白色space因此字符串的长度增加了一个字符。
- (BOOL)validatePancard:(NSString *)candidate
{
NSString *panCardRegex = @"[A-Z]{5}[0-9]{4}[A-Z]{1}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", panCardRegex];
NSLog(@"valid : %d", [emailTest evaluateWithObject:candidate]);
return [emailTest evaluateWithObject:candidate];
}
提前致谢。
只需执行下面的代码即可。
BOOL isValid = [self validatePancard:@"ABC 5ZEXZ TRE"];
- (BOOL)validatePancard:(NSString *)candidate
{
NSMutableString *a = [NSMutableString stringWithString:candidate];
NSRange range;
range.location = 3; //Remove Character at forth position
range.length = 1; // number of character you want to remove
[a deleteCharactersInRange:range];
NSString *strImmutableString = [NSString stringWithString:a];
NSString *panCardRegex = @"[A-Z]{5}[0-9]{4}[A-Z]{1}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", panCardRegex];
NSLog(@"valid : %d", [emailTest evaluateWithObject:strImmutableString]);
return [emailTest evaluateWithObject:candidate];
}
//你可以使用其中的任何一个:-
////1)
NSString *YourOldString = @"Please Don't Kill Me";
NSString *NewString = [YourOldString stringByReplacingOccurrencesOfString:@"\s" withString:@"" options:NSRegularExpressionSearch range:NSMakeRange(0, [YourOldString length])];
NSLog(@"Your New String is %@",NewString);
//2).
NSArray* YourArray = [YourOldString componentsSeparatedByCharactersInSet :[NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSString* StringWithSpcs = [YourArray componentsJoinedByString:@""];
NSLog(@"The String is %@",StringWithSpcs);
//Or
//3).to remove only a given character from your string Use This
[YourOldString stringByReplacingOccurrencesOfString:@" " withString:@""];