ios 最全的常用字符串操作

ios 最全的常用字符串操作

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];

相关推荐

东莞到上海顺丰快递要多久,顺丰东莞到上海几天
365上怎么买比分

东莞到上海顺丰快递要多久,顺丰东莞到上海几天

🕒 07-14 👀 1686
企业如何成功开发渠道找到新代理商
365上怎么买比分

企业如何成功开发渠道找到新代理商

🕒 06-30 👀 2862