iOS-NSString、NSMutableString

这篇博客详细介绍了Objective-C中的NSString和NSMutableString。NSString是不可变的字符串类,其特性包括没有隐藏的字符,提供了多种构造、截取、比较和追加方法。而NSMutableString作为其子类,除了继承NSString的方法外,还额外提供了可变操作,如修改、插入和删除字符串等方法。

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

1.NSString

Objective-C的字符串(NSString),结尾没有隐藏的\0。

构造方法:

//1、直接赋值
@""

//2、格式初始化
[NSString stringWithFormat:@""];
[[NSString alloc] initWithFormat:@""];

//3、创建不赋值
[NSString string];

//用以下这两种方法,编译器会报错,帮你Fix为@""直接赋值
[NSString stringWithString:@""];
[[NSString alloc] initWithString:@""];

//但是可以用其他字符串创建
[NSString stringWithString:str];
[[NSString alloc] initWithString:str];

 NSString的属性:

//字符串的属性,推荐使用点语法

NSInteger length            //字符串的长度

double doubleValue          //将str转为double
float floatValue            //将str转为float
int intValue                //将str转为int
NSInteger integerValue      //将str转为NSInteger
long long longLongValue     //将str转为longLong
BOOL boolValue              //将str转为BOOL

NSString *uppercaseString   //str的全部大写
NSString *lowercaseString   //str的全部小写
NSString *capitalizedString //str的首字母大写

//以下作用未知
NSString *description
NSUInteger hash

 截取方法:

//截取range范围内的
- (NSString *)substringWithRange:(NSRange)range;

//从头截取到to处为止,to后面的都不要
- (NSString *)substringToIndex:(NSUInteger)to;

//从from处开始截取到最后,from处之前的都不要
- (NSString *)substringFromIndex:(NSUInteger)from;

 比较方法:

//比较字符串
- (NSComparisonResult)compare:(NSString *)string;
//不区分大小写比较
- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;

判断方法: 

//是否以str为开头
- (BOOL)hasPrefix:(NSString *)str;

//是否以str为结尾
- (BOOL)hasSuffix:(NSString *)str;
//判断是否与aString相等
- (BOOL)isEqualToString:(NSString *)aString;
//判断字符串中是否包含str
- (BOOL)containsString:(NSString *)str;
//判断searchString在str中的位置
- (NSRange)rangeOfString:(NSString *)searchString;

- (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask;
- (NSRange)rangeOfString:(NSString *)searchString options:(NSStringCompareOptions)mask range:(NSRange)rangeOfReceiverToSearch;
//返回两个字符串中相同的前缀字符串
- (NSString *)commonPrefixWithString:(NSString *)str options:(NSStringCompareOptions)mask;

 追加方法: 

//字符串后面按格式追加字符串
- (NSString *)stringByAppendingFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

//字符串后面直接追加字符串
- (NSString *)stringByAppendingString:(NSString *)aString;

2.NSMutableString

NSMutableString是NSString子类,NSString中的属性和方法自然都可以使用,以下只介绍NSMutableString独有的方法。

构造方法:

//NSMutableString不能使用@""直接赋值
//所以NSMutableString有一个类似NSString *str= @""的方法
//重设
- (void)setString:(NSString *)aString;

//capacity为预设长度
- (NSMutableString *)initWithCapacity:(NSUInteger)capacity;
+ (NSMutableString *)stringWithCapacity:(NSUInteger)capacity;

常用方法: 

//用aString替换range范围内的字符串
- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString;
//插入,将aString插入到字符串的loc处
- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;
//删除range范围内的字符
- (void)deleteCharactersInRange:(NSRange)range;
//在末尾追加字符串
- (void)appendString:(NSString *)aString;
- (void)appendFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值