| NSString主要方法 |
|
(1)
Unicode字符串的操作
|
注: unichar是Unicode表现的一个字符的类型,不同于char
便利构造函数: 先自动呼出alloc的
|
- (id) initWithUTF8String: (const char*) bytes;
便利构造函数:
+ (id) stringWithUTF8String: (const char*) bytes;
|
用和C一样以'\0'结尾的字符串生成 |
| - (__strong const char *) UTF8String; |
返回编码为UTF-8的C字符串指针 |
| - (NSUInteger) length; |
返回字符串长度
不同于C,不能用来计算需要的大小
(# TODO: check [?])
|
| - (unichar) characterAtIndex: (NSUInteger) index; |
获取第index个的Unicode字符 |
|
- (id) initWithCharacters: (const unichar *) characters length: (NSUInteger) length
便利构造函数:
+ (id) stringWithCharacters: length:
|
生成length长的以characters重复的字符串 |
| - (void) getCharacters: (unichar *) buffer range: (NSRange) aRange |
把aRange指定的范围的字符串复制到buffer
注: 不会自动加'\0'
NSRange 开始位置和长度的结构体
buffer长度必须够
|
| |
|
|
|
(2)
指定字符编码的变换
|
| NSStringEncoding类型 |
指定字符码
如
|
NSASCIIStringEncoding
|
7位的ASCII字码 |
|
NSUTF8StringEncoding
|
Unicode字符的8位字码
UTF-8
|
|
NSMaxOsRomanStringEncoding
|
日语的8位EUC字码 |
| NSShiftJISStringEncoding |
日语的8位shiftJIS字码 |
| |
|
|
|
- (id) initWithCString: (const char *) nullTerminatedCString
encoding: (NSStringEncoding) encoding
便利构造函数:
+ (id) stringWithCString: encoding:
注: encoding表示data的生成方法,生成的对象的生成方法是Unicode
|
通过指定编码的以'\0'结尾的字符串生成
|
| - (__strong const char *) cStringUsingEncoding: (NSStringEncoding) encoding |
指定字码来转换,无法转换会抛出例外
getCString:MaxLength:encoding: 可以直接放到准备好的内存里
|
|
- (id) initWithData: (NSData *) data encoding: (NSStringEncoding) encoding
注: encoding表示data的生成方法,生成的对象的生成方法是Unicode
|
通过以encoding字码写的data来生成
类似的有
initWithBytes:length:encoding:
|
|
- (NSData *) dataUsingEncoding: (NSStringEncoding) encoding
只获取长度:
lengthOfBytesUsingEncoding:
|
把受体的字符串通过encoding编码后返回NSData,
无法转换返回nil
|
| - (BOOL) canBeConvertedToEncoding: (NSStringEncoding) encoding |
能不能被指定的字码转换
可以用
availableStringEncodings来查看当前环境可用的encoding
|
|
URL字符化
- (NSString *) stringByAddingPercentEscapesUsingEncoding: (NSStringEncoding) encoding
String化
stringByReplacingPercentEscapesUsingEncoding:
|
把受体根据encoding来%化,用在URL的字符串表达上
都在Foundation/NSURL.h
|
| |
|
|
|
(3)
根据格式生成字符串
|
| 格式规则 |
格式规则和printf()里的一样
不同:
可用%@, NSString, 对象的description(NSString)
格式字符串也是NSString
注意: 用格式生成NSString时,格式修饰符的对象不会自动转型
|
|
- (id) initWithFormat: (NSString *) format, ...
便利构造函数:
stringWithFormat:
|
根据格式生成字符串
可变长度的参数, 最后加...
# TODO: Supply [10.2 可变长度的参数]
|
| |
|
|
|
(4)
对比
|
| NSComparisionResult |
enum _NSComparisionResult {
NSOrderedAscending = -, NSOrderedSame, NSOrderedDescending
};
typedef NSInteger NSComparisionResult;
相同返回NSOrderedSame, 小返回NSOrderedDescending, 大返回NSOrderedAscending
|
| - (NSComparisionResult) compare: (NSString *) aString |
字符串的比较, aString不能为nil
只是比较是否相同的话可用
- (BOOL) isEqualToString: (NSString *) aString
|
| - (NSComparisionResult) caseInsensitiveCompare: (NSString *) aString |
无视大小写的比较
其他方法来比较的话用:compare:option:
|
| - (NSComparisionResult) localizedStandardCompare: (NSString *) aString |
Mac的Finder里文件名排序相同的方法来比较 |
| - (BOOL) isEqualToString: (NSString *) aString |
与指定NSString是否相同 |
|
- (BOOL) hasPrefix: (NSString *) aString
|
开头是否和aString相同(是否有指定前缀) |
| - (BOOL) hasSuffix: (NSString *) aString |
结尾是否与aString相同 |
| commonPrefixWithString:options: |
从开头取出相同的字符串 |
| |
|
| |
|
|
|
(5)
连接
|
| - (NSString *) stringByAppendingString: (NSString *) astring |
把aString连接在最后 |
| - (NSString *) stringByAppendingFormat: (NSString *) format, ... |
把根据格式生成的字符串连接在最后 |
| |
|
| |
|
|
|
(6)
子字符串
|
- NSString&NSMutableString常用操作梳理(转)
作者:弦苦 授权本站转载. 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Objective-C中每天都要用到的字符串处理类——NSString. Objec ...
- 关于NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary
NSString,NSMutableString,NSArray,NSMutableArray,NSDictionary,NSMutableDictionary 在 OC 中我们天天都要用,而我们要怎 ...
- NSString&NSMutableString常用操作梳理
http://www.cocoachina.com/ios/20150724/12722.html 上一篇梳理了NSArray&NSMutableArray常用操作,这次来梳理一下Object ...
- [转] NSString / NSMutableString 字符串处理,常用代码
原文 : http://justcoding.iteye.com/blog/1405951 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString , ...
- 【转】 NSString / NSMutableString 字符串处理,常用代码 (实例)
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重 ...
- NSString / NSMutableString 字符串处理,常用代码 (实例)
http://blog.csdn.net/likendsl/article/details/7417878 Objective-C 中核心处理字符串的类是 NSString 与 NSMutableSt ...
- NSString NSMutableString copy mutableCopy retain weak strong整合
copy retain assign的差别在于对象属性的set方法 NSString 与 NSMutableString NSString是不可变字符串对象,这句话的意思,结合代码: #import ...
- NSString NSMutableString
// NSString //代开API文档 //Xcode -> help - Documentation and API Reference ...
- Objective C NSString 编码成URL 特殊字符处理
找了一下网上的教程都是使用类似以下代码,Xcode提示这个CoreFoundation不受ARC管理,所以折中的方式是添加__bridge. NSString *encodedValue = (__b ...
随机推荐
- mac上storm standalone安装
一.安装storm 下载storm http://storm.apache.org/downloads.html export STORM_HOME=/Users/huangjiahong/Docum ...
- django学习之- Ajax
提示:jquery要使用1版本,因为高版本已不兼容低版本的游览器.参考url:http://www.cnblogs.com/wupeiqi/articles/5703697.html原生ajax:Aj ...
- Spring基于Java的配置
以下内容引用自http://wiki.jikexueyuan.com/project/spring/java-based-configuration.html: 基于Java的配置选项,可以使你在不用 ...
- 黑黛增发罗林川:如何三年开1000家连锁店?_深度案例_i黑马
黑黛增发罗林川:如何三年开1000家连锁店?_深度案例_i黑马 黑黛增发
- [转] Oracle数据库维护常用SQL语句集合
原文地址 进程相关: 1. 求当前会话的SID,SERIAL# SELECT Sid, Serial# FROM V$session WHERE Audsid = Sys_Context ...
- CEF3研究(三)
一.Off-Screen Rendering 脱屏绘制 CEF的脱屏渲染并不创建源生的浏览器窗口,而是CEF提供主应用程序在无效区域和像素buffer里渲染,然后主应用程序通过鼠标.键盘和焦点事件通知 ...
- CSS浮动通俗讲解
首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...
- 创立一个站点的前前后后(起因,域名,云平台,备案,CDN等等)(1)
起因 写完<完美软件开发:方法与逻辑>这书后,原本想继续写书的,可出来參加了些社区活动后,我发现我写的书大家评价还行.但事实上不太理解.而接下来想写的书更加抽象点.准备叫<管理的解析 ...
- 鼠标放上去Div旋转特效代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 题目1011:最大连续子序列 O(n)
题目大意:给出一系列的数字.要求你输出这些数字的最大连续和,并输出构成这个最大连续和的第一个数和最后一个数 解题思路:用一个变量维护最大连续和 假设当前这个变量小于0的话,就表示这个变量仅仅会拉低连续 ...
| |