NSString 的一些操作
来源:互联网 发布:mysql explain 编辑:程序博客网 时间:2024/06/03 22:52
+ (NSString *)searchInString:(NSString *)string charStart:(char)start charEnd:(char)end
{
int inizio = 0, stop =0;
for(int i =0; i < [string length]; i++)
{
if([string characterAtIndex:i] == start)
{
inizio = i+1;
i +=1;
}
if([string characterAtIndex:i] == end)
{
stop = i;
break;
}
}
stop -= inizio;
NSString *string2 = [[string substringFromIndex:inizio-1] substringToIndex:stop+1];
return string2;
}
- (NSString *)searchCharStart:(char)start charEnd:(char)end
{
int inizio = 0, stop =0;
for(int i =0; i < [selflength]; i++)
{
if([self characterAtIndex:i] == start)
{
inizio = i+1;
i +=1;
}
if([self characterAtIndex:i] == end)
{
stop = i;
break;
}
}
stop -= inizio;
NSString *string = [[selfsubstringFromIndex:inizio-1]substringToIndex:stop+1];
return string;
}
- (NSString *)MD5
{
if(self == nil || [self length] == 0)
return nil;
unsignedchar digest[CC_MD5_DIGEST_LENGTH], i;
CC_MD5([selfUTF8String], (int)[selflengthOfBytesUsingEncoding:NSUTF8StringEncoding], digest);
NSMutableString *ms = [NSMutableStringstring];
for(i=0;i<CC_MD5_DIGEST_LENGTH;i++)
{
[msappendFormat: @"%02x", (int)(digest[i])];
}
return [mscopy];
}
- (NSString *)SHA1
{
if(self == nil || [self length] == 0)
return nil;
unsignedchar digest[CC_SHA1_DIGEST_LENGTH], i;
CC_SHA1([selfUTF8String], (int)[selflengthOfBytesUsingEncoding:NSUTF8StringEncoding], digest);
NSMutableString *ms = [NSMutableStringstring];
for(i=0;i<CC_SHA1_DIGEST_LENGTH;i++)
{
[msappendFormat: @"%02x", (int)(digest[i])];
}
return [mscopy];
}
- (NSString *)SHA256
{
if(self == nil || [self length] == 0)
return nil;
unsignedchar digest[CC_SHA256_DIGEST_LENGTH], i;
CC_SHA256([selfUTF8String], (int)[selflengthOfBytesUsingEncoding:NSUTF8StringEncoding], digest);
NSMutableString *ms = [NSMutableStringstring];
for(i=0;i<CC_SHA256_DIGEST_LENGTH;i++)
{
[msappendFormat: @"%02x", (int)(digest[i])];
}
return [mscopy];
}
- (NSString *)SHA512
{
if(self == nil || [self length] == 0)
return nil;
unsignedchar digest[CC_SHA512_DIGEST_LENGTH], i;
CC_SHA512([selfUTF8String], (int)[selflengthOfBytesUsingEncoding:NSUTF8StringEncoding], digest);
NSMutableString *ms = [NSMutableStringstring];
for(i=0;i<CC_SHA512_DIGEST_LENGTH;i++)
{
[msappendFormat: @"%02x", (int)(digest[i])];
}
return [mscopy];
}
- (BOOL)hasString:(NSString *)substring
{
return !([selfrangeOfString:substring].location ==NSNotFound);
}
- (BOOL)isEmail
{
NSString *emailRegEx =
@"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0-9!#$%\\&'*+/=?\\^_`{|}"
@"~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\"
@"x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-"
@"z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5"
@"]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-"
@"9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21"
@"-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";
NSPredicate *regExPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", emailRegEx];
return [regExPredicateevaluateWithObject:[selflowercaseString]];
}
+ (BOOL)isEmail:(NSString *)email
{
NSString *emailRegEx =
@"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0-9!#$%\\&'*+/=?\\^_`{|}"
@"~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\"
@"x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-"
@"z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5"
@"]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-"
@"9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21"
@"-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";
NSPredicate *regExPredicate = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", emailRegEx];
return [regExPredicateevaluateWithObject:[email lowercaseString]];
}
+ (NSString *)convertToUTF8Entities:(NSString *)string
{
NSString *isoEncodedString = [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
[string stringByReplacingOccurrencesOfString:@"%27"withString:@"'"]
stringByReplacingOccurrencesOfString:[@"%e2%80%99"capitalizedString] withString:@"’"]
stringByReplacingOccurrencesOfString:[@"%2d"capitalizedString] withString:@"-"]
stringByReplacingOccurrencesOfString:[@"%c2%ab"capitalizedString] withString:@"«"]
stringByReplacingOccurrencesOfString:[@"%c2%bb"capitalizedString] withString:@"»"]
stringByReplacingOccurrencesOfString:[@"%c3%80"capitalizedString] withString:@"À"]
stringByReplacingOccurrencesOfString:[@"%c3%82"capitalizedString] withString:@"Â"]
stringByReplacingOccurrencesOfString:[@"%c3%84"capitalizedString] withString:@"Ä"]
stringByReplacingOccurrencesOfString:[@"%c3%86"capitalizedString] withString:@"Æ"]
stringByReplacingOccurrencesOfString:[@"%c3%87"capitalizedString] withString:@"Ç"]
stringByReplacingOccurrencesOfString:[@"%c3%88"capitalizedString] withString:@"È"]
stringByReplacingOccurrencesOfString:[@"%c3%89"capitalizedString] withString:@"É"]
stringByReplacingOccurrencesOfString:[@"%c3%8a"capitalizedString] withString:@"Ê"]
stringByReplacingOccurrencesOfString:[@"%c3%8b"capitalizedString] withString:@"Ë"]
stringByReplacingOccurrencesOfString:[@"%c3%8f"capitalizedString] withString:@"Ï"]
stringByReplacingOccurrencesOfString:[@"%c3%91"capitalizedString] withString:@"Ñ"]
stringByReplacingOccurrencesOfString:[@"%c3%94"capitalizedString] withString:@"Ô"]
stringByReplacingOccurrencesOfString:[@"%c3%96"capitalizedString] withString:@"Ö"]
stringByReplacingOccurrencesOfString:[@"%c3%9b"capitalizedString] withString:@"Û"]
stringByReplacingOccurrencesOfString:[@"%c3%9c"capitalizedString] withString:@"Ü"]
stringByReplacingOccurrencesOfString:[@"%c3%a0"capitalizedString] withString:@"à"]
stringByReplacingOccurrencesOfString:[@"%c3%a2"capitalizedString] withString:@"â"]
stringByReplacingOccurrencesOfString:[@"%c3%a4"capitalizedString] withString:@"ä"]
stringByReplacingOccurrencesOfString:[@"%c3%a6"capitalizedString] withString:@"æ"]
stringByReplacingOccurrencesOfString:[@"%c3%a7"capitalizedString] withString:@"ç"]
stringByReplacingOccurrencesOfString:[@"%c3%a8"capitalizedString] withString:@"è"]
stringByReplacingOccurrencesOfString:[@"%c3%a9"capitalizedString] withString:@"é"]
stringByReplacingOccurrencesOfString:[@"%c3%af"capitalizedString] withString:@"ï"]
stringByReplacingOccurrencesOfString:[@"%c3%b4"capitalizedString] withString:@"ô"]
stringByReplacingOccurrencesOfString:[@"%c3%b6"capitalizedString] withString:@"ö"]
stringByReplacingOccurrencesOfString:[@"%c3%bb"capitalizedString] withString:@"û"]
stringByReplacingOccurrencesOfString:[@"%c3%bc"capitalizedString] withString:@"ü"]
stringByReplacingOccurrencesOfString:[@"%c3%bf"capitalizedString] withString:@"ÿ"]
stringByReplacingOccurrencesOfString:@"%20"withString:@" "];
return isoEncodedString;
}
- (NSString *)sentenceCapitalizedString
{
if(![self length])
{
return [NSStringstring];
}
NSString *uppercase = [[selfsubstringToIndex:1]uppercaseString];
NSString *lowercase = [[selfsubstringFromIndex:1]lowercaseString];
return [uppercase stringByAppendingString:lowercase];
}
- (NSString *)dateFromTimestamp
{
NSString *year = [selfsubstringToIndex:4];
NSString *month = [[selfsubstringFromIndex:5]substringToIndex:2];
NSString *day = [[selfsubstringFromIndex:8]substringToIndex:2];
NSString *hours = [[selfsubstringFromIndex:11]substringToIndex:2];
NSString *minutes = [[selfsubstringFromIndex:14]substringToIndex:2];
return [NSStringstringWithFormat:@"%@/%@/%@ %@:%@", day, month, year, hours, minutes];
}
- (NSString *)urlEncode
{
NSMutableString *output = [NSMutableStringstring];
const unsignedchar *source = (constunsigned char *)[selfUTF8String];
int sourceLen = (int)strlen((constchar *)source);
for(int i =0; i < sourceLen; ++i)
{
const unsignedchar thisChar = source[i];
if(thisChar == ' ')
{
[outputappendString:@"+"];
}
else if(thisChar =='.' || thisChar == '-' || thisChar == '_' || thisChar == '~' || (thisChar >= 'a' && thisChar <= 'z') || (thisChar >= 'A' && thisChar <='Z') || (thisChar >= '0' && thisChar <= '9'))
{
[outputappendFormat:@"%c", thisChar];
}
else
{
[outputappendFormat:@"%%%02X", thisChar];
}
}
return output;
}
- NSString 的一些操作
- NSString的一些用法
- nsstring 的一些细节
- NSString的一些方法
- NSString的一些用法
- NSString的一些使用方法
- NSString的一些用法
- NSString 的一些笔记
- NSString的相关操作
- NSString的一些使用扩展
- NSString的一些常用方法
- NSString 常用的一些方法
- 关于NSString的一些用法
- ios NSString的一些知识
- NSstring 一些常用的方法
- NSString 对字符串的操作
- NSString 对字符串的操作
- NSString对文件的操作
- android4.4 framework添加第三方调用接口
- Java 实用小方法
- echarts之(1)折线图
- Samba服务器
- iOS开发UI篇—ios应用数据存储方式(归档)
- NSString 的一些操作
- Ext.grid.Panel加载JSON数据
- Redhat/CentOS6.2 x86系统KVM虚拟机网络配置(二)—Bridge方式
- unity3d加密代码结束篇
- VMware安装ubuntu 12.04后,桌面显示不正常
- Android 自定义View (二) 进阶
- 机器学习中的数学(3)-模型组合(Model Combining)之Boosting与Gradient Boosting
- Unicode编码的秘密
- VMware vSphere VDP 安装部署