OC NSString(字符串)


多行文字字面量

NSString * string = @"abC"
@"DEF"
@"hjk"
@"uuiop";

NSRange的使用

typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange; //定义:
NSRange range = {2,2};
//使用:
NSString * newString = [string substringWithRange:range];

常用方法

在A字符串中查找B字符串,返回B字符串在A中的位置

- (NSRange)rangeOfString:(NSString *)searchString;

//举例:
NSRange range = [string rangeOfString:@"gs"]; if (range.length == 0) {
NSLog(@"没有找到liu");
}
if (range.location == NSNotFound) {
NSLog(@"没有找到liu");
}

NSCaseInsensitiveSearch 忽略大小写

[string rangeOfString:@"ha" options:NSCaseInsensitiveSearch]

不可变字符串常用方法

带占位符的拼接字符串方法 stringByAppendingFormat

NSString * newString = [string stringByAppendingFormat:@"def%d",12];

拼接字符串方法 stringByAppendingString

NSString * newString = [string stringByAppendingString:@"opiuuoo"];

填充字符串 stringByPaddingToLength: withString: startingAtIndex:

NSString * newstring = [string stringByPaddingToLength:10 withString:@"123" startingAtIndex:2];

分割字符串 componentsSeparatedByString

NSArray * array = [string componentsSeparatedByString:@"-"];

通过数组合并字符串 componentsJoinedByString

NSString * string = [array componentsJoinedByString:@"-"];

给字符串前后去空格 stringByTrimmingCharactersInSet

NSString * string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

替换字符串 stringByReplacingOccurrencesOfString

NSString * newString = [string stringByReplacingOccurrencesOfString:@"hu" withString:@" "];

根据range替换字符串 stringByReplacingCharactersInRange:

		NSRange range = {4,4};
string = [string stringByReplacingCharactersInRange:range withString:@"shifan"];

大写字母转小写 lowercaseString

NSString * newString2 = [string2 lowercaseString];

小写字母转大写 uppercaseString

NSString * newString1 = [string1 uppercaseString];

首字母大写 capitalizedString

NSString * newString2 = [string2 capitalizedString];

字符串比较函数 compare:

NSComparisonResult rs = [string1 compare:string2];

忽略大小比较字符串 caseInsensitiveCompare:

NSComparisonResult rs = [string1 caseInsensitiveCompare:string2];

if (rs == NSOrderedAscending) {
NSLog(@"string1 < string2");
} else if (rs == NSOrderedSame) {
NSLog(@"string1 = string2");
} else {
NSLog(@"string1 > string2");
}

字符串转基本数据类型

int num = [string intValue];
double numd = [string doubleValue];
//还有: floatValue,integerValue,longLongValue,boolValue

可变字符串NSMutableString

初始化方法

NSMutableString * string = [[NSMutableString alloc] initWithCapacity:5];
NSMutableString * s = [[NSMutableString alloc] initWithString:@"ab"];

追加方法

[s appendFormat:@"%d",1];
[s appendString:@"123"];

插入方法

[string insertString:@"90" atIndex:2];

替换方法

[string replaceCharactersInRange:range withString:@"jj"];

删除方法

[string deleteCharactersInRange:range];

不可变字符串转可变字符串(重置字符串)

[string setString:str];

OC NSString(字符串)的更多相关文章

  1. iOS - OC NSString 字符串

    前言 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> @interface NSM ...

  2. OC之字符串 NSString与NSMutableString

    一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *str1=@"hello"; 字符串对象的输出格式:NSLog(@" ...

  3. OC基础--字符串

    前言 做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱.所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础.UI控 ...

  4. NSString字符串

    要把 “2011-11-29” 改写成 “2011/11/29”一开始想用ios的时间格式,后来用NSString的方法搞定. [string stringByReplacingOccurrences ...

  5. OC之从键盘输入NSString字符串

    方法一: char *a; static char z; a = &z; gets(a); NSString *intput = [NSString stringWithUTF8String: ...

  6. iOS学习13之OC NSString类

    C语言中,字符串是有char(ASC||码)字符组成. OC中,字符串是由unichar(Unicode)字符组成. 1.字符串(NSString) NSString:不可变字符串,即:创建以后,内容 ...

  7. NSString字符串类型-学习总结

    1.字符串的创建 (1)创建常量字符串 NSString *str = @"This is a String"; //str是变量名 (2)创建空的字符串,给字符串赋值 NSStr ...

  8. NSString 字符串

    0.字符串常用操作 自动补充方法:当字符串长度不够需要自动补充到一定的位数 OC字符串与C语言字符串之间的相互转换 1.不可变字符串的创建 // 直接创建不可变字符串 /* 在 OC 中,使用 @&q ...

  9. 【去除NSString 字符串中的空格换行符】

    @interface NSString (DeletWhiteSpace) // 返回一个去掉前后空格的字符串或者下划线,如果自己是一个nil 返回@“” - (NSString *)trimming ...

随机推荐

  1. Swift 2.2发布

    Swift 2.2 发布了.支持linux平台.Swift是一种使用现代的安全设计方式和软件设计模式构建的通用编程语言.该版本语言更新如下: SE-0001: Allow (most) keyword ...

  2. dp or 贪心 --- hdu : Road Trip

    Road Trip Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:65536KB Total submit users: 29 ...

  3. python sqlite中通过字段名获取查询结果

    在连sqlite数据库时,用fetchall()查询结果,是用row[0],row[1]这样的方式来打印每列的结果 但是我想用row[“字段名”]方式查询怎么办? import sqlite3 con ...

  4. 孙鑫MFC学习笔记6:菜单编程

    1.对菜单响应的顺序: 视类,文档类,框架类,应用程序类 2.消息的分类 3.CWnd继承自CCmdTarget类, 所以从CWnd派生出的类也可以接收WM_COMMAND消息 4.命令的消息路由 5 ...

  5. HDU 4283---You Are the One(区间DP)

    题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=4283 Problem Description The TV shows such as Y ...

  6. PostgreSQL除法保留小数

    select round(1::numeric/4::numeric,3);结果为0.25 select round( cast ( 1 as numeric )/ cast( 4 as numeri ...

  7. Java中查找文件并且打印输出指定文件下面的子目录

    package com.immoc; import java.io.File; import java.io.IOException; public class FileUtile { //列出fil ...

  8. [javascript] 判断 iframe 是否加载完成

    from http://www.planabc.net/2009/09/22/iframe_onload/ var iframe = document.createElement("ifra ...

  9. PHP curl超时问题

    今天调试一个非常老的代码时  发现nginx服务器超时  改了下nginx配置 发现是后台脚本一直等待  排查到最后发现是curl 超时引起的等待 具体解决方案: curl_setopt( $this ...

  10. sql with 递归 查询特定区间日期

    declare @startDay smalldatetime ='2013-01-01'  ;with cte as(     select @startDay as d    union all  ...