#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//1、字符串的比较函数
NSString *str1 = [NSString stringWithFormat:@"%@",@"hello world"];
NSString *str2 = [NSString stringWithUTF8String:"hello world"];
//判断两个字符串是否相等
//compare:
//NSOrderedAscending = -1L, 递增
//NSOrderedSame = 0 相等
//NSOrderedDescending = 1 递减
NSComparisonResult ret1 = [str1 compare:str2];
if(ret1 == NSOrderedAscending)
{
NSLog(@"str1 < str2");
}
else if (ret1 == NSOrderedSame)
{
NSLog(@"str1 = str2");
}
else if (ret1 == NSOrderedDescending)
{
NSLog(@"str1 > str2");
}
//大小写不敏感的方式比较字符串大小
//只有英文字母才有大小写之分
//- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string;
NSString *str3 = @"welcome to china";
NSString *str4 = @"welcome To china";
NSComparisonResult ret2 = [str3 caseInsensitiveCompare:str4];
if(ret2 == NSOrderedAscending)
{
NSLog(@"str1 < str2");
}
else if (ret2 == NSOrderedSame)
{
NSLog(@"str2 = str2");
}
else if (ret2 == NSOrderedDescending)
{
NSLog(@"str1 > str2");
}
NSComparisonResult ret3 = [str3 compare:str4 options:NSCaseInsensitiveSearch];
if(ret3 == NSOrderedAscending)
{
NSLog(@"str1 < str2");
}
else if (ret3 == NSOrderedSame)
{
NSLog(@"str2 = str2");
}
else if (ret3 == NSOrderedDescending)
{
NSLog(@"str1 > str2");
}
//判断两个字符串对象是否相等
NSString *str5 = [NSString stringWithCString:"how are you" encoding:NSUTF8StringEncoding];
NSString *str6 = [NSString stringWithUTF8String:"how are you"];
//#define YES ((BOOL)1)
//#define NO ((BOOL)0)
BOOL ret4 = [str5 isEqualToString:str6];
if (ret4 == YES)
{
NSLog(@"str5 = str6");
}
else
{
NSLog(@"str5 != str6");
}
//判断是否已传入字符串开头的字符串
//- (bool)hasPrefix:(NSString *)astring;
BOOL ret5 = [@"www.baidu.com" hasPrefix:@"www"];
if (ret5 == YES)
{
NSLog(@"是以传入字符串开头");
}
else
{
NSLog(@"不是以传入字符串开头");
}
//判断是否已传入字符串结尾的字符串
BOOL ret6 = [@"www.baidu.com" hasSuffix:@".com"];
NSLog(@"ret6 = %i", ret6);
//字符串的追加
NSString *str7 = @"baidu";
//- (NSString *)stringByAppendingString:(NSString *)aString;
//NSString 创建的是不可变字符串对象,不能直接在原字符串末尾追加字符串,只能利用原字符串及传入的字符串对象,创建新的字符串对象返回。
NSString *str8 = [str7 stringByAppendingString:@".com"];
NSLog(@"str7 = %@", str7);
NSLog(@"str8 = %@", str8);
//str7 = baidu
//str8 = baidu.com
//格式化追加字符串
NSString *str9 = [str7 stringByAppendingFormat:@"%d%s",123,"hello world"];
NSLog(@"str9 = %@", str9);
//字符串的提取
NSString *str10 = @"www.hao123.com";
//从指定下标位置提取子串到字符串末尾
//- (NSString *)substringFromIndex:(NSUInteger)form;
NSLog(@"subString = %@",[str10 substringFromIndex:4]);
//subString = hao123.com
//提取子串到指定位置,(不包含指定下标字符)
NSLog(@"subString = %@", [str10 substringToIndex:4]);
//subString = www.
//提取指定范围的子串
//- (NSString *)substringWithRang:(NSRange)range;
//typedef struct _NSRange {
// NSUInteger location; 提取子串的位置
// NSUInteger length; 提取子串的长度
//} NSRange;
NSRange range1 = {4,6};
NSLog(@"subStrng = %@", [str10 substringWithRange:range1]);
//NSRange NSMakeRange(NSUInteger loc, NSUInteger len)
//返回NSRange的值
NSLog(@"subStrng = %@", [str10 substringWithRange:NSMakeRange(4,6)]);
//字符串的查找
NSString *str11 = @"bai du hello du world bai du";
//返回子串在原字符串中的范围
NSRange range2 = [str11 rangeOfString:@"du"];
if (range2.location == NSNotFound){
NSLog(@"没有查找到该子串 NSNotFound = %li", NSNotFound);
//NSSNotFound 是long类型范围内的最大值
}
else {
NSLog(@"查找到该子串, location = %li, length = %li", range2.location, range2.length);
}
//倒序查找子串
//NSBackwardsSearch 倒叙搜索
NSRange range3 = [str11 rangeOfString:@"du" options:NSBackwardsSearch];
NSLog(@"location = %li length = %li", range3.location, range3.length);
//在指定范围内查找子串
//NSLiteralSearch 正序搜索
NSRange range4 = [str11 rangeOfString:@"du" options:NSLiteralSearch range:NSMakeRange(7, 14)];
NSLog(@"location = %li length = %li", range4.location, range4.length);
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//字符串的大小写转换
NSString *str1 = @"hello world";
//把小写字母转换成大写字母
NSLog(@"str = %@", [str1 uppercaseString]);
//把大写字母转换成小写字母
NSString *str2 = @"WELCOME to CHINA";
NSLog(@"str = %@", [str2 lowercaseString]);
//把单词的首字母转换成大写,其余字母转换成小写
NSString *str3 = @"HELLO world chinA welCome";
NSLog(@"str = %@", [str3 capitalizedString]);
//字符串的数值转换
//数字字符 0~9
NSString *str4 = @"123";
//把字符串对象转化成int类型数值
NSLog(@"num = %i", [str4 intValue]);
//把字符串对象转换成NSIeger类型
NSLog(@"num = %li", [@"987654" integerValue]);
//把字符串对象转换成浮点类型
NSLog(@"num = %.2f", [@"3.1456" floatValue]);
//字符串的置换
NSString *str5 = @"hello world chian hello world";
//用传入的字符串对象替换指定范围字符
NSString *str6 = [str5 stringByReplacingCharactersInRange:NSMakeRange(12, 5) withString:@"welocme"];
NSLog(@"str6 = %@", str6);
//用传入的字符串替换在原字符串中出现的所有字符
NSString *str7 = [str5 stringByReplacingOccurrencesOfString:@"wolrd" withString:@"baidu"];
NSLog(@"str7 = %@", str7);
//替换指定范围内出现的字符串
//第一个参数:表示目标字符串
//第二个参数:传入的字符串replancement
//第三个参数:字符串的搜索方式
//第四个参数:搜索字符串的范围
NSString *str8 = [str5 stringByReplacingOccurrencesOfString:@"hello" withString:@"welocme" options:NSLiteralSearch range:NSMakeRange(12, 17)];
NSLog(@"str8 = %@", str8);
}
return 0;
}