Object-C 课堂笔记4.1 NSString_字符串
来源:互联网 发布:全面风险管理数据 编辑:程序博客网 时间:2024/05/07 11:56
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
// C语言中字符串是由char(ASCII码)字符组成
// char sex = 'm';
// char *sex1 = "male";
// char *sex2[2] = {"male", "fmale"};
// printf("%s", sex2[1]);
// OC的字符串是由unichar(Unicode)码组成
// 不可变字符串 NSString 长度和内容都是不能变的
// 字符串的创建
{
// 创建一个常量字符串, 字面量, 语法糖
// int a = 10;
NSString *str = @"我勒个去";
NSLog(@"%@", str);
// 创建一个格式化字符串
NSString *str1 = [[NSString alloc] initWithFormat:@"%@, %d大湿胸, 师傅被妖怪抓走了", str, 3];
NSLog(@"%@", str1);
NSString *str2 = [NSString stringWithFormat:@"%@, 大湿胸, 师傅又被妖怪抓走了", str];
NSLog(@"%@", str2);
NSString *str3 = [NSString stringWithFormat:@"%@ %@", str1, str2];
NSLog(@"%@", str3);
// 通过另外一个字符串创建字符串
NSString *str4 = [[NSString alloc] initWithString:str3];
NSLog(@"%@", str4);
// NSString *str5 = [[NSString alloc] initWithString:@"哈哈哈哈"];
}
// 字符串常用方法
// 1. 字符串的截取
{
NSString *str11 = @"HelloWorld!";
// 从索引为 5 处开始, 截取到最后
NSString *str12 = [str11 substringFromIndex:5];
NSLog(@"%@", str12);
// 从开始截取到索引处, 但是并不包含
NSString *str13 = [str11 substringToIndex:3];
NSLog(@"%@", str13);
// 快速查看帮助文档, 按住alt(option), 点击想要查阅的内容
// 结构体, 有两个成员变量, location 截取开始的位置, length, 截取的长度
NSRange range = {5, 5};
NSString *str14 = [str11 substringWithRange:range];
NSLog(@"%@", str14);
}
// 2. 字符串的拼接
{
NSString *str11 = @"HelloWorld!";
NSString *str21 = [str11 stringByAppendingString:@"新的一天又开始了"];
NSLog(@"%@", str21);
}
// 3. 字符串的比较
{
// 判断两个字符串的内容是否一样
BOOL result = [str11 isEqualToString:str21];
if (result) {
NSLog(@"两个字符串的内容一样");
}
else{
NSLog(@"不一样");
}
// 字符串的比较
NSComparisonResult cmpResult = [str11 compare:str21];
switch (cmpResult) {
case NSOrderedAscending:
NSLog(@"str11 比 str21 小");
break;
case NSOrderedSame:
NSLog(@"str11 和 str21 一样大");
break;
case NSOrderedDescending:
NSLog(@"str11 比 str21 大");
break;
default:
break;
}
}
// 4. 判断字符串的开头和结尾
{
NSString *str41 = @"Jannifer Lawrence.avi";
// (1) 是否以某某开头
BOOL result41 = [str41 hasPrefix:@"Jannif"];
if (result41) {
NSLog(@"詹妮弗");
}
// (2) 是否以某某结尾
BOOL result42 = [str41 hasSuffix:@".avi"];
if (result42) {
NSLog(@"这是一部小电影");
}
// (3) 是否包含某个字符串
BOOL result43 = [str41 containsString:@"fer Law"];
if (result43) {
NSLog(@"劳伦斯");
}
}
// 5. 大小写转换
{
NSString *str51 = @"heLLo gegsgW";
// 全部转为大写
NSString *str52 = [str51 uppercaseString];
NSLog(@"%@", str52);
// 全部转位小写
NSString *str53 = [str51 lowercaseString];
NSLog(@"%@", str53);
// 每个单词的首字母大写, 其余小写
NSString *str54 = [str51 capitalizedString];
NSLog(@"%@", str54);
}
// 6. C语言字符串和OC字符串的相互转换
{
// 将C字符串转换为OC字符串
NSString *str61 = [[NSString alloc] initWithUTF8String:"呵呵"];
NSLog(@"%@", str61);
// 将OC字符串转换为C字符串
const char *cStr = [str61 UTF8String];
printf("%s\n", cStr);
}
// 7. 字符串的替换
{
NSString *str71 = @"HelloWorld";
// 将 str71 中的所有的 o 换成 逗逼
NSString *str72 = [str71 stringByReplacingOccurrencesOfString:@"o" withString:@"逗逼"];
NSLog(@"%@", str72);
// 通过 range 来替换
NSString *str73 = [str71 stringByReplacingCharactersInRange:NSMakeRange(5, 5) withString:@"Sweety"];
NSLog(@"%@", str73);
}
// 可变字符串 NSMutableString 继承于NSString
// 错误写法
// NSMutableString *mStr = @"test";
NSMutableString *mStr = [[NSMutableString alloc] initWithString:@"ione"];
// 插入字符串, 没有返回值, 操作的是自身
[mStr insertString:@"Ph" atIndex:1];
NSLog(@"%@", mStr);
// 删除字符串
[mStr deleteCharactersInRange:NSMakeRange(3, 3)];
NSLog(@"%@", mStr);
// 替换
[mStr replaceCharactersInRange:NSMakeRange(2, 1) withString:@"hone"];
NSLog(@"%@", mStr);
// 拼接
[mStr appendString:@"6s"];
NSLog(@"%@", mStr);
// 练习
NSMutableString *mStr11 = [NSMutableString stringWithString:@"png54321.jpeg"];
if ([mStr11 hasSuffix:@"png"]) {
// NSRange range = [mStr11 rangeOfString:@"png"];
[mStr11 replaceCharactersInRange:NSMakeRange(mStr11.length - 3, 3) withString:@"jpg"];
}
else{
[mStr11 appendString:@".jpg"];
}
NSLog(@"%@", mStr11);
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
// C语言中字符串是由char(ASCII码)字符组成
// char sex = 'm';
// char *sex1 = "male";
// char *sex2[2] = {"male", "fmale"};
// printf("%s", sex2[1]);
// OC的字符串是由unichar(Unicode)码组成
// 不可变字符串 NSString 长度和内容都是不能变的
// 字符串的创建
{
// 创建一个常量字符串, 字面量, 语法糖
// int a = 10;
NSString *str = @"我勒个去";
NSLog(@"%@", str);
// 创建一个格式化字符串
NSString *str1 = [[NSString alloc] initWithFormat:@"%@, %d大湿胸, 师傅被妖怪抓走了", str, 3];
NSLog(@"%@", str1);
NSString *str2 = [NSString stringWithFormat:@"%@, 大湿胸, 师傅又被妖怪抓走了", str];
NSLog(@"%@", str2);
NSString *str3 = [NSString stringWithFormat:@"%@ %@", str1, str2];
NSLog(@"%@", str3);
// 通过另外一个字符串创建字符串
NSString *str4 = [[NSString alloc] initWithString:str3];
NSLog(@"%@", str4);
// NSString *str5 = [[NSString alloc] initWithString:@"哈哈哈哈"];
}
// 字符串常用方法
// 1. 字符串的截取
{
NSString *str11 = @"HelloWorld!";
// 从索引为 5 处开始, 截取到最后
NSString *str12 = [str11 substringFromIndex:5];
NSLog(@"%@", str12);
// 从开始截取到索引处, 但是并不包含
NSString *str13 = [str11 substringToIndex:3];
NSLog(@"%@", str13);
// 快速查看帮助文档, 按住alt(option), 点击想要查阅的内容
// 结构体, 有两个成员变量, location 截取开始的位置, length, 截取的长度
NSRange range = {5, 5};
NSString *str14 = [str11 substringWithRange:range];
NSLog(@"%@", str14);
}
// 2. 字符串的拼接
{
NSString *str11 = @"HelloWorld!";
NSString *str21 = [str11 stringByAppendingString:@"新的一天又开始了"];
NSLog(@"%@", str21);
}
// 3. 字符串的比较
{
// 判断两个字符串的内容是否一样
BOOL result = [str11 isEqualToString:str21];
if (result) {
NSLog(@"两个字符串的内容一样");
}
else{
NSLog(@"不一样");
}
// 字符串的比较
NSComparisonResult cmpResult = [str11 compare:str21];
switch (cmpResult) {
case NSOrderedAscending:
NSLog(@"str11 比 str21 小");
break;
case NSOrderedSame:
NSLog(@"str11 和 str21 一样大");
break;
case NSOrderedDescending:
NSLog(@"str11 比 str21 大");
break;
default:
break;
}
}
// 4. 判断字符串的开头和结尾
{
NSString *str41 = @"Jannifer Lawrence.avi";
// (1) 是否以某某开头
BOOL result41 = [str41 hasPrefix:@"Jannif"];
if (result41) {
NSLog(@"詹妮弗");
}
// (2) 是否以某某结尾
BOOL result42 = [str41 hasSuffix:@".avi"];
if (result42) {
NSLog(@"这是一部小电影");
}
// (3) 是否包含某个字符串
BOOL result43 = [str41 containsString:@"fer Law"];
if (result43) {
NSLog(@"劳伦斯");
}
}
// 5. 大小写转换
{
NSString *str51 = @"heLLo gegsgW";
// 全部转为大写
NSString *str52 = [str51 uppercaseString];
NSLog(@"%@", str52);
// 全部转位小写
NSString *str53 = [str51 lowercaseString];
NSLog(@"%@", str53);
// 每个单词的首字母大写, 其余小写
NSString *str54 = [str51 capitalizedString];
NSLog(@"%@", str54);
}
// 6. C语言字符串和OC字符串的相互转换
{
// 将C字符串转换为OC字符串
NSString *str61 = [[NSString alloc] initWithUTF8String:"呵呵"];
NSLog(@"%@", str61);
// 将OC字符串转换为C字符串
const char *cStr = [str61 UTF8String];
printf("%s\n", cStr);
}
// 7. 字符串的替换
{
NSString *str71 = @"HelloWorld";
// 将 str71 中的所有的 o 换成 逗逼
NSString *str72 = [str71 stringByReplacingOccurrencesOfString:@"o" withString:@"逗逼"];
NSLog(@"%@", str72);
// 通过 range 来替换
NSString *str73 = [str71 stringByReplacingCharactersInRange:NSMakeRange(5, 5) withString:@"Sweety"];
NSLog(@"%@", str73);
}
// 可变字符串 NSMutableString 继承于NSString
// 错误写法
// NSMutableString *mStr = @"test";
NSMutableString *mStr = [[NSMutableString alloc] initWithString:@"ione"];
// 插入字符串, 没有返回值, 操作的是自身
[mStr insertString:@"Ph" atIndex:1];
NSLog(@"%@", mStr);
// 删除字符串
[mStr deleteCharactersInRange:NSMakeRange(3, 3)];
NSLog(@"%@", mStr);
// 替换
[mStr replaceCharactersInRange:NSMakeRange(2, 1) withString:@"hone"];
NSLog(@"%@", mStr);
// 拼接
[mStr appendString:@"6s"];
NSLog(@"%@", mStr);
// 练习
NSMutableString *mStr11 = [NSMutableString stringWithString:@"png54321.jpeg"];
if ([mStr11 hasSuffix:@"png"]) {
// NSRange range = [mStr11 rangeOfString:@"png"];
[mStr11 replaceCharactersInRange:NSMakeRange(mStr11.length - 3, 3) withString:@"jpg"];
}
else{
[mStr11 appendString:@".jpg"];
}
NSLog(@"%@", mStr11);
}
0 0
- Object-C 课堂笔记4.1 NSString_字符串
- c/c++课堂笔记——字符串的基本操作
- 课堂笔记C语言
- Oc课堂笔记->字符串NSString
- c语言课堂练习笔记
- ios学习笔记之Object-C—字符串
- ios学习笔记之Object-C—字符串
- ios学习笔记之Object-C—字符串
- Object C学习笔记8-字符串NSString之二
- Object c的字符串,数组和字典的笔记
- Object-c NSString 字符串
- Object-c 之 字符串
- Object-C—字符串
- Object-C 字符串
- Object-C 字符串对象
- Object-C 之 字符串
- Object-C 字符串
- 网易云课堂程序设计入门--C语言第七周:指针与字符串学习笔记
- python-04<关于字典:键必须是可哈希的>
- webbrowser 自动滚动网页
- 「递归逻辑实现」求一棵树中的最远距离
- python unittest源码解析四----关于源码中的__unittest的用处
- 数据结构面试题1.2.4-求子数组的最大和
- Object-C 课堂笔记4.1 NSString_字符串
- linux并发连接上百万的配置
- WWW-JavaScript
- JSP两种声明变量的区别
- TLS 配置和使用
- Android:Tab切换方法整理
- Andrew Ng机器学习课程10补充
- android 中webview的屏幕适配问题
- 安装配置PHP 5.6 + Nginx 1.8