#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSString * strA = @"abc";
NSString * strB = @"ab";
NSString * strC = @"123";
//NSString 类型的字符串,被改变后不改变原串的内容
//1.初始化方法
NSString *str1 = [[NSString alloc] initWithFormat:@"%@%d",@"这里是大波",2];
NSLog(@"这是str1的初始化:%@",str1);
NSString *str2 = [[NSString alloc] initWithString:str1];
NSLog(@"这是str2的初始化:%@",str1);
//2.便利构造器
NSString *str3 =[ NSString stringWithFormat:@"这是%d",3];
NSLog(@"str3 = %@",str3);
NSString *str4 = [NSString stringWithString:str2];
NSLog(@"str4 = %@ ",str4);
// 3. 获取字符串长度
NSLog(@"%ld" , [str1 length]);
// 4.1 判断字符串是否包含某个前缀
NSLog(@"%hhd",[str1 hasPrefix:@"这"]);
// 4.2 判断字符串是否包含某个后缀
NSLog(@"%hhd",[str1 hasSuffix:@"字符"]);
// 5. 判断子串在一个字符串中的范围
NSRange range = [str1 rangeOfString:@"这"];
NSLog(@"location: %lu length: %lu",range.location , range.length);
NSLog(@"%lu",NSNotFound);
if (range.length == 0) {
NSLog(@"不包含该字符");
}
else {
NSLog(@"包含");
}
// 6. 字符串截取
// 6.1 截取前面部分
NSLog(@"%@",[str1 substringFromIndex:3]);
// 6.2 截取后边部分
NSLog(@"%@",[str1 substringToIndex:3]);
// 6.3 截取中间部分
NSRange range2 = {1,2};
NSRange range3 = NSMakeRange(1, 2);
NSLog(@"%@",[str1 substringWithRange:range3]);
//7.拼接字符串
NSLog(@"%@",[str1 stringByAppendingFormat:@"啦啦啦啦啦%d",60]);
NSLog(@"这是str1%@",str1);
NSLog(@"%@", [strA stringByAppendingString:strB]);
NSLog(@"这是str%@",strA);
//8.替换字符串
NSLog(@"字符串替换:%@" , [str1 stringByReplacingOccurrencesOfString:@"ad" withString:@"ccc"]);
NSString *string3 = @"老孟说隔壁老蒋喜欢对门小妹";
NSLog(@"%@", [string3 stringByReplacingOccurrencesOfString:@"老" withString:@"小"]);
//9.字符串比较
NSLog(@"%ld",[strA compare:strB]);
//10.字符串和数值类型转换
//10.1.字符串转数值
NSLog(@"这是数值转换 %d",[strC intValue]);
NSLog(@"这是数值转化 %f",[strC floatValue]);
//10.2 数值转字符串
NSString * number = [[NSString alloc] initWithFormat:@"%d",123];
NSLog(@"这是数字转字符串 %@",number);
//11.大小写转换操作
NSLog(@"%@",[strA uppercaseString]);
//NSMutableString 可变字符串
NSMutableString *mString1 = [NSMutableString stringWithFormat:@"这是第%d个可变字符串",1];
}
@autoreleasepool {
// NSMutableString 可变字符串 , NSMutableString 定义的字符串内容会被改变
//拼接字符串
NSMutableString *mString1 = [NSMutableString stringWithFormat:@"这是第%d个可变字符串",1];
NSLog(@"%p", mString1);
[mString1 appendString:@"str3"];
NSLog(@"%@", mString1);
NSLog(@"%p", mString1);
//插入字符
[mString1 insertString:@"aaa" atIndex:2];
NSLog(@"%@",mString1);
//删除字符
NSRange range2 = {1,2};
[mString1 deleteCharactersInRange:range2];
NSLog(@"%@", mString1);
//替换
NSRange range3 = {1,3};
[mString1 replaceCharactersInRange:range3 withString:@"我"];
NSLog(@"%@", mString1);
NSMutableString *str1 = [NSMutableString stringWithFormat:@"%@",@"pngaBcD_EfGkpngdf"];
NSRange range = [str1 rangeOfString:@"EfGk"];
NSLog(@"location: %lu length: %lu",range.location , range.length);
NSLog(@"%lu",NSNotFound);
NSRange range4 = {range.location,range.length};
if (range.length == 0) {
NSLog(@"不包含该字符");
}
else {
NSLog(@"包含");
[str1 replaceCharactersInRange:range4 withString:@"WXYZ"];
NSLog(@"%@",[str1 lowercaseString]);
}
NSRange range = [str1 rangeOfString:@"png"];
NSRange range2 = {[str1 length]-3 , range.length};
if ([str1 hasSuffix:@"png"]) {
[str1 replaceCharactersInRange:range2 withString:@"jpg"];
}
else
{
[str1 appendString:@".jpg"];
}
NSLog(@"str1 = %@",str1);
}
return 0;
}