1、将NSData / NSString转化
1
2
3
|
NSData
*data = [string dataUsingEncoding:
NSUTF8StringEncoding
];
// 将字符串转data
NSString
* str = [[
NSString
alloc] initWithData:data];
// 将data转为字符串
|
2、字符串比较
(1)、OC语言,比较两个字符串是否相等
1
2
3
4
5
|
// isEqualToString方法
NSString
*astring01 = @
"This is a String!"
;
NSString
*astring02 = @
"This is a String!"
;
BOOL
result = [astring01 isEqualToString:astring02];
NSLog
(@
"result:%d"
,result);
|
(2)、C语言 比较两个字符串是否相等(一般不用)
1
2
3
4
5
6
7
8
9
|
char
string1[] =
"string!"
;
char
string2[] =
"string!"
;
if
(strcmp(string1, string2) == 0) {
NSLog
(@
"1"
);
}
|
(3)、compare 比较两个字符串是否相等
1
2
3
4
5
6
|
//compare方法(comparer返回的三种值)
NSString
*astring01 = @
"This is a String!"
;
NSString
*astring02 = @
"This is a String!"
;
BOOL
result = [astring01 compare:astring02] = =
NSOrderedSame
;
NSLog
(@
"result:%d"
,result);
//NSOrderedSame判断两者内容是否相同
|
(4)、忽略大小写比较两个字符串
1
2
3
4
5
6
|
//不考虑大小写比较字符串1
NSString
*astring01 = @
"this is a String!"
;
NSString
*astring02 = @
"This is a String!"
;
BOOL
result = [astring01 caseInsensitiveCompare:astring02] = =
NSOrderedSame
;
NSLog
(@
"result:%d"
,result);
//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
|
(5)、判断一个字符串是否包含另一个字符串
1
2
3
4
5
6
|
// 判断字符串中是否包含“a”
NSString
*str = @
"qrewfgfshsgfda"
;
if
([str rangeOfString:@
"a"
].location ==
NSNotFound
) {
NSLog
(@
"str 中 不包含 a"
);
}
|
(6)、判断两对象值的大小(按字母顺序升序进行比较,如:a大于b为真)
1
2
3
4
5
6
|
NSString
*str = @
"a"
;
NSString
*str1 = @
"b"
;
if
([str compare:str1] ==
NSOrderedAscending
) {
NSLog
(@
"%@大于%@"
,str,str1);
}
|
(7)、判断两对象值的大小(按字母顺序倒序进行比较,如:c大于b为真)
1
2
3
4
5
6
|
NSString
*str = @
"c"
;
NSString
*str1 = @
"b"
;
if
([str compare:str1] ==
NSOrderedDescending
) {
NSLog
(@
"%@大于%@"
,str,str1);
}
|
3、字符串转大写/小写/首字母大写
1
2
3
4
5
6
|
NSString
*str = @
"this is the str"
;
[str uppercaseString];
// 将str转大写
[str lowercaseString];
// 将str转小写
[str capitalizedString];
// 将str首字母大写
|
4、字符串截取
(1)、从字符串的开头一直截取到指定的位置,但不包括该位置的字符
1
2
3
4
|
NSString
*str = @
"this is a str"
;
// 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString
*str2 = [str substringToIndex:3];
// 截取后str2的值为:thi
|
(2)、从指定位置开始(包括指定位置的字符),截取到字符串末尾
1
2
3
4
|
NSString
*str = @
"this is a str"
;
// 以指定位置开始(包括指定位置的字符),截取到字符窜末尾
NSString
*str2 = [str substringFromIndex:3];
// 截取后str2的值为:s is a str
|
(3)、从指定位置开始(包括指定位置的字符),截取指定长度的字符串
1
2
3
4
5
|
NSString
*str = @
"this is a str"
;
// 从指定位置开始(包括指定位置的字符),截取指定长度的字符串
// 第一个参数表示起始位置,第二个参数表示截取的长度
NSString
*str2 = [str substringWithRange:
NSMakeRange
(1, 3)];
// 截取后str2的值为:his
|
5、字符串拼接
(1)、方法一:通过 stringWithFormat 拼接
1
2
3
4
|
NSString
*str = @
"this is a str"
;
// 在str后拼接 append,生成str2
NSString
*str2 = [
NSString
stringWithFormat:@
"%@ append"
,str];
|
(2)、方法二:通过 stringByAppendingString 拼接
1
2
3
4
|
NSString
*str = @
"this is a str"
;
// 在str后拼接 append,生成str2
NSString
*str2 = [str stringByAppendingString:@
"apend"
];
|
(3)、方法三:通过 stringByAppendingFormat拼接
1
2
3
|
NSString
*str = @
"this is a str"
;
// 在str后拼接一个Format好的字符串
NSString
*str2 = [str stringByAppendingFormat:@
"apend%@"
,str];
|
(4)、在字符串指定位置插入新字符串
1
2
3
4
5
|
// 在指定位置插入字符串,
NSMutableString
*str = [
NSMutableString
stringWithString:@
"This is a str"
];
// 在字符串前面插入Hello,使用此方法必须保证 str 是可变长度的
[str insertString:@
"Hello"
atIndex:0 ];
|
6、判断字符串是否以另一个字符串开头/结尾
1
2
3
4
|
NSString
*str = @
"This is a str"
;
[str hasPrefix:@
"This"
];
// 判断字符串是否以This开头
[str hasSuffix:@
".txt"
];
// 判断字符串是否以.txt结尾
|
7、字符串扩展路径
1
2
3
4
5
6
7
|
NSString
*Path = @
"~/Documents/NSData.txt"
;
// 此字符串必须为~开头
// 在Path前面扩展沙盒的路径
NSString
*absolutePath = [Path stringByExpandingTildeInPath];
// 去除扩展路径
[absolutePath stringByAbbreviatingWithTildeInPath];
|
8、获取一个文件的扩展名
1
2
3
|
// path 为一个文件的完整路径
NSString
*Path = @
"........./NSData.txt"
;
NSLog
(@
"这个文件的扩展名是:%@"
,[Path pathExtension]);
|
9、按照固定长度生成空字符串
1
2
|
// 按照固定长度生成空字符串
NSString
*str = [
NSMutableString
stringWithCapacity:40];
|
10、用指定字符串替换字符串中某指定位置、长度的字符串
1
2
3
4
5
6
7
|
// 用指定字符串替换字符串中的字符串,针对于可变字符串有效
NSMutableString
*str = [
NSMutableString
stringWithString:@
"This is a str"
];
// 用That替换字符串中的This
[str replaceCharactersInRange:
NSMakeRange
(0, 4) withString:@
"That"
];
NSLog
(@
"替换后的str:%@"
,str);
|
11、 使用JsonKit 将字符串转成数据字典
1
2
3
|
NSString
*response = [request responseString];
// 这是一个Json格式的字符串
NSData
*data = [response dataUsingEncoding:
NSUTF8StringEncoding
];
// 将字符串转data
NSDictionary
*dic = [data objectFromJSONData];
// 字符串转字典
|
12、IOS url 编码,http请求遇到汉字的时候,需要转化成UTF-8
1
2
3
|
// ios中http请求遇到汉字的时候,需要转化成UTF-8,用到的方法是:
NSString
* encodingString = [urlString stringByAddingPercentEscapesUsingEncoding:
NSUTF8StringEncoding
];
|
13、IOS url 解码,将%3A%2F%2F 格式转为UTF-8
1
2
3
|
// 请求后,返回的数据,如何显示的是这样的格式:%3A%2F%2F,此时需要我们进行UTF-8解码,用到的方法是:
NSString
*str = [model.album_name stringByReplacingPercentEscapesUsingEncoding:
NSUTF8StringEncoding
];
|
非学无以广才,非志无以成学,小编不才,还请看官多多见谅!