【Object-C】nsstring 基本使用


前言

本博文主要是对nsstring 基本使用的一个介绍,以及记录,方便后续使用时候可以直接加载。
在这里插入图片描述

nsstring 基本介绍

在Objective-C中,NSString是一个用于处理字符串的类。它提供了许多功能和方法,以帮助您操作和处理字符串数据。

以下是NSString的一些基本介绍:

  1. NSString是不可变的:这意味着一旦创建了一个NSString对象,就不能修改它的内容。如果您需要修改字符串,您可以使用NSMutableString类。

  2. NSString可以包含任何Unicode字符:您可以在NSString中存储和操作各种字符,包括普通字符、特殊字符、表情符号等。

  3. NSString可以通过使用@"字符串"语法进行创建:您可以使用@符号和双引号来创建一个NSString对象。例如,NSString *myString = @“Hello World!”;

  4. NSString可以进行常见的字符串操作:NSString类提供了很多方法来处理字符串,包括拼接、替换、查找、截取等。您可以使用这些方法来操作和处理字符串数据。

  5. NSString是基于Unicode的:NSString使用Unicode编码来存储和表示字符串数据。这意味着它可以支持各种语言和字符集。

  6. NSString具有可选的编码选项:在创建NSString对象时,您可以选择指定字符串的编码选项,以确保正确表示和处理特定的字符集。

  7. NSString可以进行格式化:NSString提供了格式化字符串的功能,您可以使用类似于printf函数的语法来创建格式化的字符串。

总之,NSString类是Objective-C中处理字符串的基本工具。它提供了许多有用的方法和功能,可以帮助您处理和操作字符串数据。

字符串比较

isEqualToString方法比较

NSString *stingOne = @"This is an iOSDevTip!";
NSString *stringTwo = @"This is an iOSDevTip!";
BOOL result = [stingOne isEqualToString:stringTwo];

compare方法比较(comparer返回的三种值)

NSString *astring01 = @"This is a String!";
 
NSString *astring02 = @"This is a String!";    
 //NSOrderedSame判断两者内容是否相同
BOOL result = [astring01 compare:astring02] == NSOrderedSame;    

 //NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)
BOOL result = [astring01 compare:astring02] == NSOrderedAscending;    

//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
BOOL result = [astring01 compare:astring02] == NSOrderedDescending;   
 

不考虑大小写比较字符串

NSString *astring01 = @"this is a String!";
 
NSString *astring02 = @"This is a String!";
 
BOOL result = [astring01 caseInsensitiveCompare:astring02] == NSOrderedSame;    //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,相同为真)

BOOL result = [astring01 compare:astring02
 
options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame;    //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
 
NSLog(@"result:%d",result); 

字符串大小写转换

 NSString *string = @"This is an iOSDevTip!";
 //小写转大写
[string lowercaseString];
//大写转小写
[string uppercaseString];
//首字母大写
[string capitalizedString];

截取字符串

NSString *string = @"This is a operation string!";
//This i
NSString *subToString = [string substringToIndex:6];
//s a operation string!
NSString *subFromString = [string substringFromIndex:6];
//s a
NSString *rangeString = [string substringWithRange:NSMakeRange(6, 3)];

判断是否包含字符串

判断是否包含字符串

NSString *string1 = @"This is a iOSDevTip";
NSString *string2 = @"iOSDevTip";
NSRange range = [string1 rangeOfString:string2];
NSInteger location = range.location;
if(location!=NSNotFound){
//Location:10,Leight:9
	NSInteger leight = range.length;	
}else {
}

判断是否包含前后缀

NSString *string = @"I love China";
BOOL isHasI = [string hasPrefix:@"I"];
BOOL isHasChina = [string hasSuffix:@"China"];

分割字符串

NSString *string = @"This is a iOSDevTip";
NSArray *array = [string componentsSeparatedByString:@"a"];
//This is 
NSString *string1 = [array objectAtIndex:0];
// iOSDevTip
NSString *string2 = [array objectAtIndex:1];

插入字符串

插入字符串

NSMutableString *string = [[NSMutableString alloc] initWithString:@"I China"];
//I Love China
[string insertString:@"Love " atIndex:2];
NSLog(@"string: %@",string);

追加字符串

NSMutableString *string = [[NSMutableString alloc] initWithString:@"I Love "];
[string appendString:@"China"];
NSLog(@"string:%@",string);

删除字符串

NSMutableString *string = [[NSMutableString alloc] initWithString:@"I love China"];
//I China
[string deleteCharactersInRange:NSMakeRange(2, 4)];

替换字符串

NSString *string = @"I love China";
//I like China
NSString *replaceString = [string stringByReplacingOccurrencesOfString:@"love" withString:@"like"];

去除字符串首尾的空格和换行符

NSString *string = @" I love China ";
//I love China
NSString *text = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

参考

玩转 NSString

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻傻虎虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值