概述
简单的字符串匹配可以有一下方式:
1、NSString自带的函数方法:
-(BOOL) hasPrefix:(NSString *) astring;检查字符串是否以astring开头;
-(BOOL) hasSuffix:(NSString *) astring;检查字符串是否以astring结尾;
使用方式:
NSString *filename=@"hello,world";
if([filename hasPrefix:@"hello"]){
...
}
if([filename hasSuffix:@"world"]){
...
}
如果想知道字符串内的某处是否包含其他的字符串,使用rangeOfString:
-(NSRange) rangeOfString:(NSString *) astring;
将rangeOfString:发送给一个NSString对象时,传递的参数时要查找的字符串。它会返回一个NSRange struct来告诉你一个与这个字符串相匹配的部分从哪里开始以及匹配上的字符个数。
NSRange range=[filename rangeOfString:@"o,world"];
if(range.location!=NSNotFound)
{
return true;
}
else
{
return false;
}
2、如果是数值或者字符可以ASCII码判断
3、正则表达式:
正则表达式入门网址推荐(此网页下面还要深入学习网址):http://deerchao.net/tutorials/regex/regex.htm
简单使用代码:
- (BOOL)matchStringFormat:(NSString *)matchedStr withRegex:(NSString *)regex
{
//SELF MATCHES一定是大写
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
if([predicate evaluateWithObject:matchedStr] == YES)
{
return YES;
}
else
{
return NO;
}
}
- (BOOL)isFitNameFormat:(NSString *)inNameStr
{
if ([self matchStringFormat:inNameStr withRegex:@"^\w{3,8}$"])
{
return YES;
}
return NO;
}
- (BOOL)isFitPasswordFormat:(NSString *)inPasswordStr
{
if(PasswordLength == inPasswordStr.length)
{
//改成@"[a-z][A-Z][0-9]{3}"是错的
if([self matchStringFormat:inPasswordStr withRegex:@"[a-zA-Z0-9]{3}"])
{
return YES;
}
}
return NO;
}
- (BOOL)isFitPhoneFormat:(NSString *)inPhoneStr
{
//正则表达式,[0-9]或d数值匹配,{11}十一个,
if([self matchStringFormat:inPhoneStr withRegex:@"\d{11}"])
{
return YES;
}
return NO;
}
最后
以上就是拼搏酒窝为你收集整理的iOS字符串内容匹配简单的字符串匹配可以有一下方式:的全部内容,希望文章能够帮你解决iOS字符串内容匹配简单的字符串匹配可以有一下方式:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复