Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。
 
 
1.创建经典的NSString字符串
 
NSString 与 char* 最大的区别就是 NSString是一个objective对象,而char* 是一个字节数组。@+ ” 字符串 ” 这个符号为objective-c NSString 字符串常量的标准用法,char* 创建的时候 无需添加@
 
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    //经典的字符串赋值
    NSString *str0 = @"我是雨松MOMO";
 
    //字符串格式化合并分别包括
    //NSString*类型 int类型 char*类型
    NSString *str1 = [NSString stringWithFormat:@"我的名字:%@ 我的年龄:%d 我的邮箱:%s",@"雨松MOMO", 25,"xuanyusong@gmail.com"];
 
    //字符串赋值 参数中只可以写一个字符串 和第一种很像
    NSString *str2 = [NSString stringWithString:@"我是字符串"];
 
    //字符串转换为utf-8格式 参数为char*类型
    NSString *str3 = [NSString stringWithUTF8String:"字符串转换utf-8格式"];
 
    //字符串合并
    int i  = 100;
    char*c = "xuanyusong";
    NSString *temp = @"我是临时字符串";
 
    //在字符串temp的基础继续添加 int i 与 char* c 组成一个新的字符串
    NSString *str4 = [temp stringByAppendingFormat:@"整型: %d 字符型 :%s",i,c];
 
    //在字符串temp的基础继续添加temp 并组成一个新的字符串
    NSString *str5 = [temp stringByAppendingString:temp];
 
    //字符串输出
    NSLog(@"str0 = %@", str0);
    NSLog(@"str1 = %@", str1);
    NSLog(@"str2 = %@", str2);
    NSLog(@"str3 = %@", str3);
    NSLog(@"str4 = %@", str4);
    NSLog(@"str5 = %@", str5);
 
}
 
 
2.字符串的遍历
 
每一个字符串其实是由若干个char字符组成,字符串的遍历实际上就是将字符串中的每一个字符提取出来。
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    //经典的字符串赋值
    NSString *str = @"YUSONGMOMO";
 
    //字符串的长度
    int count = [str length];
 
    NSLog(@"字符串的长度是%d",count);
 
    //遍历字符串中的每一个字符
    for(int i =0; i < count; i++)
    {
        char c = [str characterAtIndex:i];
        NSLog(@"字符串第 %d 位为 %c",i,c);
    }
 
}
 
3.字符串的比较
 
isEqualToString 比较字符串是否完全相等,大小写不一样也无法完全匹配。
hasPrefixe 匹配字符串头
haSuffix     匹配字符串的尾巴
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    NSString *str0 = @"雨松MOMO";
    NSString *str1 = @"雨松MOMO";
 
    //字符串完全相等比较
    if([str0 isEqualToString:str1])
    {
        NSLog(@"字符串完全相等");
    }
 
    //字符串以开头比较
    if([str0 hasPrefix:@"雨松"])
    {
        NSLog(@"字符串str0以雨松开头");
    }
 
    //字符串以结尾比较
    if([str1 hasSuffix:@"MOMO"])
    {
        NSLog(@"str1字符串以MOMO结尾");
    }
}
 
4.字符串的截取与大小写改变
 
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    NSString *str0 = @"中文my name is xuanyusong";
 
    //截取字符串起始点到index为4之间的内容
    NSString * to = [str0 substringToIndex:4];
 
    NSLog(@"to = %@",to);
 
    //截取字符index为2 到结尾之间的内容
    NSString * from = [str0 substringFromIndex:2];
 
    NSLog(@"from = %@",from);
 
    //设置截取字符串的范围
    //从第二位至第十位
    NSRange rang = NSMakeRange(2, 10);
    NSString * strRang = [str0 substringWithRange:rang];
    NSLog(@"rang = %@",strRang);
 
    //设置字符串首字母大写
    NSLog(@"str0首字母大写:%@",[str0 capitalizedString]);
    //设置字符串全部内容为大写
    NSLog(@"str0大写:%@",[str0 uppercaseString]);
    //设置字符全部内容为小写
    NSLog(@"str0小写:%@",[str0 lowercaseString]);
 
}
 
5.搜索字符串与替换字符串
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    NSString *str0 = @"中文my name is xuanyusong";
    NSString *temp = @"is";
    NSRange rang = [str0 rangeOfString:temp];
 
    NSLog(@"搜索的字符串在str0中起始点的index 为 %d", rang.location);
    NSLog(@"搜索的字符串在str0中结束点的index 为 %d", rang.location + rang.length);
 
    //将搜索中的字符串替换成为一个新的字符串
    NSString *str = [str0 stringByReplacingCharactersInRange:rang withString:@"哇咔咔卡卡咔"];
    NSLog(@"替换后字符串为%@", str);
 
    //将字符串中" " 全部替换成 *
    str = [str0 stringByReplacingOccurrencesOfString :@" " withString:@"@"];
    NSLog(@"替换后字符串为%@", str);
 
}
 

object- c 字符串操作的更多相关文章

  1. Python 字符串操作及string模块使用

    python的字符串操作通过2部分的方法函数基本上就可以解决所有的字符串操作需求: python的字符串属性函数 python的string模块 1.字符串属性方法操作: 1.>字符串格式输出对 ...

  2. .NET面试题解析(03)-string与字符串操作

      系列文章目录地址: .NET面试题解析(00)-开篇来谈谈面试 & 系列文章索引 字符串可以说是C#开发中最常用的类型了,也是对系统性能影响很关键的类型,熟练掌握字符串的操作非常重要. 常 ...

  3. C# 格式化字符串,日期,字符串操作汇总

    时间格式化 有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢 我们要用到:D ...

  4. [转] JavaScript中的字符串操作

    一.概述    字符串在JavaScript中几乎无处不在,在你处理用户的输入数据的时候,在读取或设置DOM对象的属性时,在操作cookie时,当然还有更 多....JavaScript的核心部分提供 ...

  5. JAVA字符串操作 (转)

    JAVA字符串操作 原帖地址:http://blog.163.com/hn_myj@126/blog/static/50555635200861133942947/ 参考:http://blog.cs ...

  6. 第三章 JQuery: HelloWorld--常见方法--css--选择器--筛选器--属性--效果--事件--数组操作--字符串操作--对象转换

    1.jQuery简介 为了简化JavaScript 的开发, 一些JavsScript 库诞生了. JavaScript库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的页面, 并且兼 ...

  7. Pandas字符串操作及实例应用

    字符串操作 字符串对象方法 val = 'a,b, guido' val.split(',') ['a', 'b', ' guido'] pieces = [x.strip() for x in va ...

  8. python 全栈开发,Day124(MongoDB初识,增删改查操作,数据类型,$关键字以及$修改器,"$"的奇妙用法,Array Object 的特殊操作,选取跳过排序,客户端操作)

    一.MongoDB初识 什么是MongoDB MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介 ...

  9. C# 字符串操作基本过程(Equals、Compare、EndsWith等处理方法)

    本文只介绍了比较方法,但是EndsWith,IndexOf等方法均采用相同的过程,先设置CultureInfo(一般情况下调用当前线程的CultureInfo,该语言文化可以通过控制面板设置),然后调 ...

  10. 一个非常好的C#字符串操作处理类StringHelper.cs

    /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:http://www.sufeinet.c ...

随机推荐

  1. 【转】深入理解Java:SimpleDateFormat安全的时间格式化

    [转]深入理解Java:SimpleDateFormat安全的时间格式化 想必大家对SimpleDateFormat并不陌生.SimpleDateFormat 是 Java 中一个非常常用的类,该类用 ...

  2. ExecuteScalar 要求已打开且可用的 Connection。连接的当前状态为已关闭。

    本人遇到的一个小问题,希望能帮助大家 出现这个问题就是在此操作之前已经被的程序关闭了连接,比如在执行这块代码之前不幸执行了存储过程..,就会导致这个问题发生

  3. (转)C#文件操作

    原文连接:http://www.cnblogs.com/wangshenhe/archive/2012/05/09/2490438.html 文件与文件夹操作主要用到以下几个类: 1.File类: 提 ...

  4. Oracle存储过程及函数

    1.在Oracle中,存储过程包括三部分组成:定义部分.执行部分.和异常处理部分(即例外) eg1:输入员工编号,查询员工的姓名和薪资 create or repalce  procedure myp ...

  5. nodejs新手教程中upload file的问题

    可参见: http://cnodejs.org/topic/50234890f767cc9a51f88481 request.setEncoding("utf8");应注释掉.

  6. 0627 CMD运行php代码

    打开cmd: 如何在这里面运行php代码 1.调整环境变量:右击电脑->属性->高级系统设置->环境变量 2.新建环境变量: 上部分的用户变量----- 变量名:PHP_HOME   ...

  7. Jssdk微信分享

    <?php require_once "jssdk.php"; $jssdk = new JSSDK("yourAppID", "yourApp ...

  8. C语言对数组取地址

    #include <stdio.h> main() { ] = {,,,,}; printf("a=%p\n" , a); printf("a=%p\n&qu ...

  9. python numpy 使用笔记 矩阵操作

    (原创文章转载请标注来源) 在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择 建议在平Python中用多维数组(array)代替矩阵(matrix) 入门请考 http:/ ...

  10. SCJP_104——题目分析(5)

    18. public class Test { public static void add3(Integer i) { int val=i.intvalue(); val+=3; i=new Int ...