Objective-C中字符串(NSString和NSMutableString)常用的方法

本文详细介绍了Objective-C中NSString和NSMutableString的常用方法,包括字符串实例化、比较、子串获取、拼接、替换、大小写转换、前后缀检查等。对于不可变的NSString,讨论了其各种操作特性;而对于可变的NSMutableString,介绍了如何进行拼接、插入、删除和替换等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Objective-C中字符串(NSString和NSMutableString)常用的方法

标签(空格分隔): 字符串常用方法


一、NSString的常用方法(不可变字符串)

1、字符串实例化

1)直接赋值
NSString *value = @"lanou";
NSString *all = @"lanou3g is very important!";
2)通过initWithFormat:
NSString *value_3 = [[NSString alloc] initWithFormat:@"%d %c",2,'t'];

便利构造器

NSString *string = [NSString stringWithFormat:@"%d %c",2,'t'];

2、获取字符串长度

@property (readonly) NSUInteger length;

NSLog(@"length = %ld",[all length];

3、获取字符串中字符

- (unichar)characterAtIndex:(NSUInteger)index;

unichar c = [all characterAtIdex:3];

4、字符串的比较方法

NSString *value = @"abc";
NSString *value = @"ABC";
1)判断两个字符串对象是否相等

- (BOOL)isEqualToString:(NSString *)aString;

BOOL isEqual = [value1 isEqualToString:value2];
  • 结果是0说明不相等,结果是1,说明相等
2)判断两个字符串对象的大小

- (NSComparisonResult)compare:(NSString *)string;

NSComparisonResult result = [value1 compare:value2];
  • value1和value2 升序排序结果是-1,相等是0,降序排序是1

5、获取字符串的子串,以及字符串中的某个字符

1)获取子串——从输入的数字开始到最后

- (NSString *)substringFromIndex:(NSUInteger)from

NSString *substringFromIndex = [all substringFromIndex:3];
2)获取子串——从输入的数字之前

- (NSString *)substringToIndex:(NSUInteger)to

NSString *substringToIndex = [all substringToIndex:3];
3)声明一个变量用来指向获取的子串对象

- (NSString *)substringWithRange:(NSRange)range

// 声明一个变量  范围变量
// 1、定义范围的起点
// 2、定义范围的长度
NSRange range = NSMakeRange(8,2);
// 获取is字符串
NSString *subString = [all substringWithRange:range];
// 一般写成NSString *subString = [all substringWithRange:NSMakeRange(8,2)];

6、字符串链接(拼接)

NSString *value_1 = @"lanou";
NSString *value_2 = @"3g";
1)声明一个结果字符串对象
NSString *result = nul;
result = [value_1 stringByAppendingString:value_2];
2)声明一个结果字符串对象

*- (NSString )stringByAppendingFormat:(
NSString )format, …;*

NSString *result_2 = nul;
result_2 = [value_2 stringByAppendingFormat:@" %@",value_1];
  • 在对字符串对象发送stringByAppending类型的方法的时候,该字符串对象是不会发生变化的。

7、替换字符串

*- (NSString )stringByReplacingCharactersInRange:(
NSRange)range withString:(NSString )replacement;*

NSString *str = [all stringByplacingCharactersInRange:NSMakeRange(1,3) withString:@"xxx"];

8、字符串与其他数据类型进行转换

@property (readonly) int intValue;

  • 其他类型的用法与其相同
NSString *value = @"2";
int intValue = [value intValue];
  • 其中的int intValue可以替换为double doubleValue或者float floatValue

9、字符串改变大小写

1)字符串全部大写

@property(readonly,copy)NSString *uppercaseString;

NSString *upper = [all uppercaseString];
2)字符串全部小写

@property(readonly,copy)NSString *lowercaseString;

NSString *lower = [all lowercaseString];
3)字符串首字母大写

@property(readonly,copy)NSString *capitalizedString;

NSString *capital = [all capitalizedString];

10、字符串的前后缀

1)是否以指定字符串为前缀

- (BOOL)hasPrefix:(NSString *)str;

BOOL b1 = [all hasPrefix:@"m"]; // 判断是否以字符m开头
2)是否以指定字符串为后缀

- (BOOL)hasSuffix:(NSString *)str;

BOOL b2 = [all hasSuffix:@"h"]; // 判断是否以字符h结尾

二、NSMutableString的常用方法(可变字符串)

NSMutableString *strm = [NSMutableString stringWithCapacity:100];

1、拼接字符串

- (void)appendFormat:(NSString *)format, …

[strm appendFormat:@"Lan"];

2、插入字符串

- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc

[strm insertString:@"a" atIndex:1];

3、删除字符串

- (void)deleteCharactersInRange:(NSRange)range

[strm deleteCharactersInRange:NSMakeRange(1, 1)];

4、替换字符串

- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString

[strm replaceCharactersInRange:NSMakeRange(2, 1) withString:@"m"];

5、重置字符串

- (void)setString:(NSString *)aString;

[strm setString:@"hao"];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值