標籤:
typedef struct Person
{
int age;
char *name;
}Person;
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person person;
person.name ="小傢伙";
person.age =20;
Person liusanjie;
liusanjie.name = "劉三姐";
liusanjie.age =45;
/*
1、字串分為 可變字串 和 不可變字串;
2、字串的初始化方式;
3、字串不是一個容器類,不能夠添加資料;
*/
NSString *string = [[NSString alloc]init];
NSString *string1 = [NSString string];
NSString *string2 = [[NSString alloc]initWithString:string1];
NSString *string3 = @"qwe";
int age;
NSLog(@"%d",age);
// 給字串賦值
string = @"120";
/* 字串的處理;
1、字串的格式化處理;
*/
age = 20;
NSString *name = @"小莊";
NSString *info = [NSString stringWithFormat:@"%@已經%d歲了",name,age];
NSLog(@"%@",info);
/*
截取 那一個位置 的字串;
截取到哪;
從哪兒開始截取;
*/
// 1、從哪個位置開始截取字串;
NSString *newString = [info substringFromIndex:4];
NSLog(@"%@",newString);
// 練習
NSString *string4 = @"鋤禾日當午,汗滴禾下土,。。。";
// NSString *newString2 = [info substringFromIndex:10];
NSLog(@"%@",[string4 substringFromIndex:12]);
// 2、截取字串到那個位置;
NSLog(@"%@",[string4 substringToIndex:12 ]);
NSLog(@"%@",[string4 substringToIndex:6]);
// 3、從什麼位置開始到什麼位置結束;
NSRange range;
range.location = 5;
// 在這個位置的基礎上,繼續數幾個長度;
range.length =7;
// 繼續數的長度;
NSLog(@"%@",[string4 substringWithRange:range]);
NSRange jia;
jia.length = 5;
jia.location = 8;
NSLog(@"%@",[string4 substringWithRange:jia]);
// 把字串通過指定字元分割成數組;
NSArray *messageList = [string4 componentsSeparatedByString:@"," ];
// 注意:在裡面的逗號“,”必須和要分割的字元裡面的逗號一樣
NSLog(@"%@",messageList[0]);
for (id obj in messageList) {
NSLog(@"%@\n",obj);
}
NSString *ni = @"床前明月光;凝視地上霜;舉頭望明月;低頭思故鄉";
NSArray *messageList1 = [ni componentsSeparatedByString:@";"];
// NSLog(@"%@",a);
for (id 思故鄉 in messageList1) {
NSLog(@"%@\n",思故鄉);
}
// 把英文字母全部轉換成大寫的;
NSString *English = @"i study english!do you know";
NSLog(@"%@",English.uppercaseString);
// 大寫轉換成小寫;
NSString *English1 = @"I STUDY ENGLISH!DO YOU KNOW";
NSLog(@"%@",English1.lowercaseString);
// 轉換成首字母大寫;
NSLog(@"%@",English.capitalizedString);
// 一句英語中的第一個單詞的首字母大寫;
// NSLog(@"%@",English.);
// 拼接字串;
NSString *string5 = @"我";
NSString *string6 = @"打";
NSString *string7 = @"你";
NSString *q = [string5 stringByAppendingString:string6];
NSLog(@"%@\n",q);
NSString *w = [string5 stringByAppendingFormat:@"想打%@",string7];
NSLog(@"%@",w);
/* 不可變字串的拼接,是在原來的把字串的基礎上,在拼接一個字串 產生另外一個新的字串;
不可變字串 字串拼接的兩個方法都會產生一個新的字串;
*/
// 查詢字串;
// 判斷字串裡面是否包含某個字串;
NSString *link = @"zxcbvnmkajsldhfgquwyeireotpy";
NSRange range1 = [link rangeOfString:@"dsa"];
// NSLog(@"%ld",NSNotFound);
if (range1.location !=NSNotFound) {
NSLog(@"%@",link);
}else
NSLog(@"沒有查詢到");
/*
(range.location !=NSNotFound)判斷是否存在,
*/
// 字串以什麼開始;
// 字串的頭部包含什麼內容;
if ([link hasPrefix:@"zxc"]!=NO) {
NSLog(@"存在");
}else
NSLog(@"錯誤");
// 字串以什麼結束;
if ([link hasSuffix:@"hj"]!=NO) {
NSLog(@"是");
}
else
NSLog(@"否");
// 可變字串;
// 替換
NSMutableString *mustring = [[NSMutableString alloc]initWithString:@"bruse"];
NSRange range3;
range3.location = 1;
range3.length = 4;//從第二個位置替換四個長度;
// 把指定位置的字串替換成另一個字串;
[mustring replaceCharactersInRange:range3 withString:@"lood"];
NSLog(@"%@",mustring);
#pragma mark-------可變字串拼接--------------
/*1、在原來字串的基礎之上又添加了一個字串;
2、使用可變字串,擴充出來的兩個方法;
3、與原來的字串合成一個字串(還是原來的字串的對象)
*/
#pragma mark--------練習2---------------------
NSMutableString *Ver = [[NSMutableString alloc]initWithString:@"我是一名程式員!"];
NSRange range4;
range4.location = 4;
range4.length = 3;
[Ver replaceCharactersInRange:range4 withString:@"醫生"];
NSLog(@"%@",Ver);
// 刪除指定位置的資訊;
NSRange delect;
delect.location = 0;
delect.length = 4;
[Ver deleteCharactersInRange:delect];
NSLog(@"%@",Ver);
NSMutableDictionary *mud = [NSMutableDictionary dictionary];
NSDictionary *dic = @{@"ewq":@"frs",@"tre":@"gfdsh"};
[mud setObject:@"wew" forKey:@"dfsf"];
[mud setObject:dic forKey:@"qwe"];
NSLog(@"%@",mud);
}
return 0;
}
Objective-C-字串的使用