字符串操作
1、检测字符串中是否含有特殊字符
-(BOOL)isIncludeSpecialCharact: (NSString *)str {
//***需要过滤的特殊字符:~¥#&*<>《》()[]{}【】^@/£¤¥|§¨「」『』¢¬ ̄~@#¥&*()——+|《》$_€。
NSRange urgentRange = [str rangeOfCharacterFromSet: [NSCharacterSet characterSetWithCharactersInString: @"~¥#&*<>《》()[]{}【】^@/£¤¥|§¨「」『』¢¬ ̄~@#¥&*()——+|《》$_€"]];
if (urgentRange.location == NSNotFound)
{ return NO;
}
return YES;
}
2、过滤特殊字符
在ios中 可以使用stringByTrimmingCharactersInSet函数过滤字符串中的特殊符号
首先自己定义一个NSCharacterSet, 包含需要去除的特殊符号
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*+=_\\|~<>$€^•'@#$%^&*()_+'\""];
由于NSString中有全角符号和半角符号, 因此有些符号要包括全角和半角的
然后调用stringByTrimmingCharactersInSet
NSString *trimmedString = [string stringByTrimmingCharactersInSet:set];
trimmedString就是过滤后的字符串
3、字符串格式化
NSString *str = @"mobile developer tips";
// 从路径中获得完整的文件名(带后缀)
exestr = [filePath lastPathComponent];
NSLog(@"%@",exestr);
// 获得文件名(不带后缀)
exestr = [exestr stringByDeletingPathExtension];
NSLog(@"%@",exestr);
// 获得文件的扩展类型(不带'.')
exestr = [filePath pathExtension];
NSLog(@"%@",exestr);
NSString *pathExtension = [path pathExtension];
pathExtension这个字符串的值将是“txt”。句点将被去掉了。如果没有句点指明扩展名,将返回一个空串。如果文件不存在,也将返回空串
iPhone中,在网络中的数据流中提取链接中的文件名称时,有很多方法,这里总结一些。
方法一:最直接。
NSString * urlString = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;
NSString *fileName = [urlString lastPathComponent];
NSLog(@”%@”,fileName);
方法二:根据字符或者时字符串分割。
NSString *link = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;
NSString *filename = [[NSString alloc] init];
NSArray *SeparatedArray = [[NSArray alloc]init];
SeparatedArray =[link componentsSeparatedByString:@"/"];
filename = [SeparatedArray lastObject];
NSLog(@”%@”,SeparatedArray);
NSLog(@”%@”,filename);
[filename release];
方法三:将链接看成路径。
NSString * urlString = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;
NSArray *urlCom = [[NSArray alloc]initWithArray:[url pathComponents]];
NSLog(@”%@”,[urlCom lastObject]);
[urlCom release];
方法四:NSRange.它在截取二进制文件的时候十分方便。
NSString * urlString = @”http://www.baidu.com/img/baidu_logo_fqj_10.gif”;
NSString * fileName;
NSRange range = [urlString rangeOfString:@"/" options:NSBackwardsSearch];
if (range.location != NSNotFound)
{
fileName = [urlString substringFromIndex:range.location+1];
if([[fileName lowercaseString]hasSuffix:@”.gif”])
{
NSLog(@”%@”,fileName);
}
else
{
}
}
return;
}