IOS字符串(NSString)的常用用法

//创建一个空的字符串

NSString*string1=[[NSStringalloc]init];

NSString*string2=[NSStringstring];

NSLog(@"string1=%@",string1);

NSLog(@"string2=%@",string2);

//创建一个字符串常量

NSString*string3=@"Hello World";

NSLog(@"string3=%@,%p",string3,string3);

//根据已有的字符串创建新的字符串(常量区)

NSString*string4_1=[[NSStringalloc]initWithString:string3];

NSLog(@"string4_1:%@,%p",string4_1,string4_1);

NSString*string4_2=[NSStringstringWithString:string3];

NSLog(@"string4_2:%@,%p",string4_2,string4_2);

//根据已有的字符串创建新的字符串(堆区)

NSString*string5_1=[[NSStringalloc]initWithFormat:@"%@",string3];

NSLog(@"string5_1:%@,%p",string5_1,string5_1);

NSString*string5_2=[NSStringstringWithFormat:@"%@",string3];

NSLog(@"string5_2:%@,%p",string5_2,string5_2);

//字符串的比较

if(string4_1==string4_2)//指针的比较

{

NSLog(@"相同指针");

}

if([string5_1isEqualToString:string5_2])//内容比较

{

NSLog(@"相同内容");

}

else

NSLog(@"不同内容");

BOOLisSame=[string5_1isEqualToString:string5_2];//内容比较,相同语句

if(isSame) {

NSLog(@"内容相同");

}

else

NSLog(@"内容不同");

//字符串转其他类型

NSString*string6_1=@"3.1415926";

floatpi=[string6_1doubleValue];//双精度浮点

NSLog(@"string6->float:%f",pi);

NSString*string6_2=@"1000.9";

intaInt=[string6_2intValue];//整型

NSLog(@"string6->integer:%d",aInt);

NSString*string6_3=@"Y";

BOOLaBool=[string6_3boolValue];//布尔类型

NSLog(@"string6->bool:%d",aBool);

//字符串长度

NSString*string7=@"This-is-a-string";

NSLog(@"%ld",[string7length]);//等同于string7.length

//截取字符串:根据已有的字符串,返回新的子字符串(截取其中某些位置的字符串)

NSString*substring1=[string7substringFromIndex:4];//从第几位开始截取

NSString*substring2=[string7substringToIndex:6];//截取到第几位

NSString*substring3=[string7substringWithRange:NSMakeRange(5,4)];//选取某一区域截取

NSRangerange={5,4};

range.location=6;//后期修改位置

range.length=3;//后期修改截取长度

NSString*substring4=[string7substringWithRange:range];//选择某一区域截取

NSLog(@"substring1:%@",substring1);

NSLog(@"substring2:%@",substring2);

NSLog(@"substring3:%@",substring3);

NSLog(@"substring4:%@",substring4);

for(inti=0; i<[string7length]; i++) {

NSLog(@"substing:%@",[string7substringWithRange:NSMakeRange(i,1)]);

}

//按照字符串中的某个字符转成数组

NSArray*array1=[string7componentsSeparatedByString:@"-"];//根据“-”分成数组

NSLog(@"string->array:%@",array1);

NSString*string8=@"THiS iS a String";

NSLog(@"%@",[string8uppercaseString]);//大写(不改变String8)

NSLog(@"%@",[string8lowercaseString]);//小写(不改变String8)

NSLog(@"%@",[string8capitalizedString]);//首字母大写(不改变String8)

//比较字符串的大小

NSString*string9_1=@"abc";

NSString*string9_2=@"xyz";

NSComparisonResultresult =[string9_1caseInsensitiveCompare:string9_2];//NSComparisonResult属于枚举

NSLog(@"");

switch(result) {

caseNSOrderedAscending:

NSLog(@"9_1小");

break;

caseNSOrderedSame:

NSLog(@"9_1等于");

break;

caseNSOrderedDescending:

NSLog(@"9_1大");

break;

default:

break;

}

//字符串的查找

NSString*string10=@"abcdefghijklmnopq";

NSRangerange1=[string10rangeOfString:@"hijk"];

if(range1.length>0) {

NSLog(@"找到了");

}

NSLog(@"%ld,%ld",range1.length,range1.location);//第七位,长度为4

NSLog(@"%@",NSStringFromRange(range1));

NSLog(@"%@",NSStringFromClass([NSStringclass]));

//        NSStringFromClass([NSString class]);

//判断字符串是不是以*字符串开头

BOOLisPre=[string10hasPrefix:@"abc"];

if(isPre) {

NSLog(@"是以abc开头");

}

//判断字符串是不是以*字符串结尾

BOOLisSuf=[string10hasSuffix:@"opq"];

if(isSuf) {

NSLog(@"是以opq结尾");

}

//字符串的拼接

NSString*string11_1=@"good";

NSString*string11_2=@"moring";

NSString*string11=[NSStringstringWithFormat:@"%@,%@",string11_1,string11_2];

NSLog(@"string11:%@",string11);

NSString*string12=[string11_1stringByAppendingString:string11_2];//最常用

NSLog(@"string12:%@",string12);

//子类复用父类成员变量、属性、方法

/***************************NSMutableString*****************************/

//NSMutableString是NSString的子类(继承关系)

NSMutableString*mutableString1=[NSMutableStringstringWithFormat:@"HelloWorld"];

NSLog(@"muatbleString2:%@",mutableString1);

//插入,第一个参数表示需要插入的字符串,第二个参数是放置的位置

[mutableString1insertString:@"_ios"atIndex:[mutableString1length]];

NSLog(@"mutableString:%@",mutableString1);

//替换,第一个参数表示需要替换的位置,第二个参数是要替换的字符串

[mutableString1replaceCharactersInRange:NSMakeRange([mutableString1length]-3,3)withString:@"apple"];

NSLog(@"mutableString1:%@",mutableString1);

//删除

NSRangedeleteRange=NSMakeRange([mutableString1length]-6,6);

[mutableString1deleteCharactersInRange:deleteRange];

NSLog(@"mutableString1:%@",mutableString1);

//查找->使用不可变的rangeOfString


#prama Mark -判断字符串包含另一个字符串的内容

if([string1rangeOfString:string2].location!=NSNotFound) {

//string1包含string2的内容

DoSomething…

}

//去除字符串的最后一位(随意减)

NSString *cccc = [city substringToIndex:[city length] - 1];


百分号在objc中是%%,

例如:

NSString *criteria = [NSString stringWithFormat:@"WHERE username LIKE  '%@%%'",name];


//添加行间距

- (void)setHotSpotData:(NSDictionary*)dic{

NSMutableParagraphStyle* paragraphStyle = [[NSMutableParagraphStylealloc]init];

[paragraphStylesetLineSpacing:8];

UIColor*color = [UIColorblackColor];

NSAttributedString*string = [[NSAttributedStringalloc]initWithString:dic[@"content1"]attributes:@{NSForegroundColorAttributeName: color,NSParagraphStyleAttributeName: paragraphStyle}];

self.content1.attributedText= string;

//    self.content1.text = dic[@"content1"];

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容