标签:objective nsstring objetive-c oc
//
// main.m
//
// Created by on 15/4/2.
// Copyright (c) 2015年 . All rights reserved.
//
#import <Foundation/Foundation.h>
#import "Tire.h"
int main(int argc, const char * argv[]) {
//NSString 类
/*
* 学习系统类需要把握一下几点:
* 1、根据给定的初始化方法和便利构造器方法创建对象;
* 2、根据需求使用实例方法完成对应的操作;
* 3、学会看系统类的头文件;
* 4、学会通过帮助文档来学习对应的方法。
*/
//使用初始化方法创建
// NSString *str1 = [[NSString alloc] initWithString:@"name"] ;
NSString *str1 = @"name" ;
NSLog( @"%@", str1 ) ;
// NSString *str2 = [NSString stringWithString:@"name"] ;
NSString *str2 = @"name" ;
NSLog( @"%@", str2 ) ;
char *cStr = "haha" ;
//将C语言字符串转成OC的对象
NSString *str3 = [[NSString alloc] initWithCString:cStr encoding:NSUTF8StringEncoding] ;
NSLog( @"%@", str3 ) ;
NSString *str4 = [NSString stringWithCString:cStr encoding:NSUTF8StringEncoding] ;
NSLog( @"%@", str4 ) ;
//根据指定格式创建字符串
NSString *str5 = [[NSString alloc] initWithFormat:@"%@+%d", @"en", 1001] ;
NSLog( @"%@", str5 ) ;
NSString *str6 = [NSString stringWithFormat:@"%@+%d", @"ne", 10014] ;
NSLog( @"%@", str6 ) ;
//根据指定路径的文件内容创建字符串对象
NSString *str7 = [[NSString alloc] initWithContentsOfFile:@"/Users/lanouhn/Desktop/test.txt" encoding:NSUTF8StringEncoding error:nil] ;
NSLog( @"%@", str7 ) ;
// NSError *err = [NSError init] ;
NSString *str8 = [NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/words.txt" encoding:NSUTF8StringEncoding error:nil] ;
NSLog( @"%@", str8 ) ;
//求字符串对象的长度
NSInteger length = [str8 length] ;
NSLog( @"%ld", length ) ;
//判断一个字符串对象是否拥有前缀字符串
BOOL result1 = [str8 hasPrefix:@"If"] ;
NSLog( @"%@", result1 ? @"YES" : @"NO" ) ;
//判断一个字符串对象是否拥有后缀
BOOL result2 = [str8 hasSuffix:@"en"] ;
NSLog( @"%@", result2 ? @"YES" : @"NO" ) ;
//判断一个字符串对象是否和另一个字符串对象相同
BOOL result3 = [str8 isEqualToString:str7] ;
NSLog( @"%@", result3 ? @"YES" : @"NO" ) ;
NSLog( @"%d", result3 ) ;
//字符串比较排序结果
NSComparisonResult result4 = [str8 compare:str7] ;
NSLog( @"%ld", result4 ) ;
//获取子字符串
//从指定下标的字符开始(包含改字符)到字符串结束的子字符串,下标从 0 开始。
NSString *subStr1 = [str8 substringFromIndex:1] ;
NSLog( @"%@", subStr1 ) ;
//从下标为0的字符开始到指定的下标结束 ,此范围内的字符串
NSString *subStr2 = [str8 substringToIndex:2] ;
NSLog( @"%@", subStr2 ) ;
//NSRange 为结构体类型, 成员location描述下标位置,成员length描述需要截取的字符串长度
NSRange rang = NSMakeRange(1, 3) ;
// rang.length = 4 ;
// rang.location = 2 ;
NSString *subStr3 = [str8 substringWithRange:rang] ;
NSLog( @"%@", subStr3 ) ;
//字符串拼接
//根据给定的参数字符串拼接并产生新的字符串,不改变原有的字符串。(不可变字符串)
NSString *newString1 = [str8 stringByAppendingString:@"+100"] ;
NSLog( @"%@", newString1 ) ;
//根据给定的格式串以及参数拼接产生新的字符串
NSString *newString2 = [str8 stringByAppendingFormat:@"%d", 1001] ;
NSLog( @"%@", newString2 ) ;
//路径拼接
NSString *newString3 = [str8 stringByAppendingPathComponent:@"xx.avi"] ;
NSLog( @"%@", newString3 ) ;
//字符串替换
//通过给定的第二字符串替换str8中存在的字符串,所有的都替换
NSString *newString4 = [str8 stringByReplacingOccurrencesOfString:@"e" withString:@"呵呵"] ;
NSLog( @"%@", newString4 ) ;
//字符串与数值类型数据的转换
NSString *numString1 = @"1" ;
NSInteger integerValue = [numString1 integerValue] ;
NSLog( @"%ld", integerValue ) ;
float integerValue1 = [numString1 floatValue] ;
NSLog( @"%f", integerValue1 ) ;
//大小写转换
NSString *string = @" i love you" ;
//转成大写字符
NSString *upperCaseStr = [string uppercaseString] ;
NSLog( @"%@", upperCaseStr ) ;
//转成小写字符
NSString *lowercaseStr = [upperCaseStr lowercaseString] ;
NSLog( @"%@", lowercaseStr ) ;
//转成首字母大写字符串(每个字符串的首字母转成大写的)
NSString *capitalString = [string capitalizedString] ;
NSLog( @"%@", capitalString ) ;
/*
* 可变字符串
*
* NSMutableString
*
*/
NSMutableString *mutableStr1 = [[NSMutableString alloc] init] ;
NSLog( @"%@", mutableStr1 ) ;
NSMutableString *mutableStr2 = [NSMutableString string] ;
//可变字符串的拼接
[mutableStr1 appendString:@"abcdef"] ;
NSLog( @"%@", mutableStr1 ) ;
NSString *resultString = [mutableStr1 stringByAppendingString:@"xxxx"] ;
NSLog( @"%@", resultString ) ;
NSLog( @"%@", mutableStr1 ) ;
//另一个字符串拼接方法
//stringByAppendingFormat : appendFormat
[mutableStr2 appendFormat:@"wang+%d", 1001] ;
NSLog( @"%@", mutableStr2 ) ;
//删除字符串
[mutableStr2 deleteCharactersInRange:NSMakeRange(2, 4)] ;
NSLog( @"%@", mutableStr2 ) ;
//插入字符串
//在给定的下标之前插入指定的字符串(前插)
[mutableStr2 insertString:@"123" atIndex:2] ;
NSLog( @"%@", mutableStr2 ) ;
//替换字符串
//根据给定的字符串的替换指定范围的字符们
[mutableStr2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"xxx"] ;
NSLog( @"%@", mutableStr2 ) ;
/*
* 练习一:
*
* 给定一个图片文件名,判断字符串中是否以
* “png”结尾,如果是就替换成“jpg”,如果 不是,就拼接”.jpg”。
*/
//不可变 字符串
NSString *practiceStr = @"wang/zhen/gang/.png" ;
if ( [practiceStr hasSuffix:@"png"] ) {
NSLog( @"%@", [practiceStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"] ) ;
}
else {
NSLog( @"%@", [practiceStr stringByAppendingString:@".jpg"] ) ;
}
//可变 字符串
NSMutableString *practiceMutableStr = [[NSMutableString alloc] initWithString:@"wang.png"] ;
// [practiceMutableStr appendString:@"wang.png"] ; // 注意 NSMutableSring 的初始化 不能用 语法糖
if ( [practiceMutableStr hasSuffix:@"png"] ) {
// NSLog( @"%@", [practiceMutableStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"]) ;
[practiceMutableStr replaceCharactersInRange:[practiceMutableStr rangeOfString:@"png"] withString:@"jpg"] ;
}
else {
[practiceMutableStr appendString:@".jpg"] ;
}
NSLog( @"%@", practiceMutableStr ) ;
return 0;
}
Objective-C----NSString 、 NSMutableString
标签:objective nsstring objetive-c oc
原文地址:http://blog.csdn.net/zhengang007/article/details/46572127