NSString是定义固定大小的字符串,NSMutableString可变,可对字符串做增、删、改、插入等操作。
源代码strings.m
-----------------------------------
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
// insert code here...
NSString *artist = @"Underworld";
NSLog(@"The \"%@\" length is %d",artist,[artist length]);
NSString *substring = [artist substringFromIndex:5];
NSLog(@"From index 5 to end that substring is \"%@\"",substring);
NSRange range = [artist rangeOfString:@"w"];
NSLog(@"range.location = %d,是字母\"w\"所在的索引位置",range.location);
NSLog(@"range.length = %d,是字母\"w\"的长度",range.length);
NSLog(@"------------------------------");
NSString *song = @"美丽新世界,伍佰";
NSRange range1 = [song rangeOfString:@","];
NSString *songName = [song substringToIndex:range1.location];
NSString *songAuthor = [song substringFromIndex:range1.location + range1.length]; //如果不加上range1.length,取词就包含逗号
NSLog(@"歌曲:%@",song);
NSLog(@"\",\"号位置为 %d",range1.location);
NSLog(@"歌名:%@",songName);
//printf("歌名:%s \n",[songName UTF8String]);//正确
//NSLog(@"歌名:%@", [songName UTF8String]);//错误
NSLog(@"作者:%@",songAuthor);
NSLog(@"---------------------------------");
NSLog(@"可变字符串类NSMultableString演示:");
NSMutableString *movie = [[NSMutableString alloc] initWithString:@"变形金刚2"];
NSLog(@"%@",movie);
[movie appendString:@",派拉蒙影业"];
NSLog(@"%@.方法appendString",movie);
NSRange range2 = [movie rangeOfString:@"派拉蒙影业"];
[movie replaceCharactersInRange:range2 withString:@"派拉蒙电影公司"]; //不是range2.location
NSLog(@"%@.方法replaceCharactersInRange",movie);
[movie deleteCharactersInRange:[movie rangeOfString:@"公司"]];
NSLog(@"%@.方法deleteCharactersInRange",movie);
range2 = [movie rangeOfString:@"变形金刚"];
[movie insertString:@"科幻电影:" atIndex:range2.location];
NSLog(@"%@.方法insertString",movie);
[movie release]; //采用alloc的对象都不要忘记release
[pool drain];
return 0;
}
分享到:
相关推荐
`NSString` 是不可变的,一旦创建就无法修改,而 `NSMutableString` 支持在字符串上进行各种修改操作。 首先,我们来看`NSString`的使用: 1. **声明字符串**:`NSString *Beijing= @"北京欢迎您 ";` 这里声明了一...
Objective-C里核心的处理字符串的类就是NSString和NSMutableString这两个类,这两个类完成了Objective-C中字符串大部分功能的处理。这两个类的最主要的区别是NSString创建赋值后不能动态修改长度和内容,除非给重新...
Objective-C是一种用于开发iOS应用的主要编程语言,其字符串操作主要依赖于NSString类和NSMutableString类。NSString用于创建不可变字符串对象,而NSMutableString则用于创建可变字符串对象。以下是Objective-C中...
`NSString`和`NSMutableString`是OC中处理字符串的主要类。`NSString`代表不可变字符串,一旦创建就不能修改,而`NSMutableString`则允许对字符串进行修改。 1. **NSString(静态字符串)操作**: - **声明字符串*...
NSString提供了多个方法来截取字符串: 1. `substringFromIndex:`:从指定索引开始截取到字符串末尾。 2. `substringToIndex:`:截取到指定索引为止。 3. `substringWithRange:`:根据指定的范围截取子串。 例如:...
这个示例代码展示了OC中对字符串进行增删改查的基本操作,主要涉及`NSString`和`NSMutableString`两个类的使用。接下来,我们将详细讨论这些操作。 首先,我们来看`NSString`,它代表不可变的字符串,一旦创建就不...
NSLog(@"子字符串:%@", subStr); ``` `NSMutableString`则是一个可变的字符串类,允许你在创建后添加、删除或修改字符。如果你需要对字符串进行频繁的修改,使用`NSMutableString`会更加高效。例如,你可以使用`...
另外,我们还可以使用`isEqualToString:`方法来与特定的字符串进行比较。如果要检查字符串是否为空字符串(即@""),可以这样做: ```objc NSString *str = @""; // 空字符串 if ([str isEqualToString:@""]) { ...
在iOS开发中,我们通常使用Foundation框架中的NSString和NSMutableString类来处理字符串。这两个类提供了丰富的字符串操作方法,包括查找、替换、格式化等。然而,当涉及到中文字符时,我们需要关注Unicode编码,...
### NSString扩展知识点解析 ...此外,通过引入第三方库,实现了JSON数据与字符串之间的互相转换以及字符串的加密处理等功能。这种扩展方式是iOS开发中常见的实践,有助于提高开发效率并减少重复编码工作。
在Objective-C中,可以利用`NSString`类提供的方法来处理字符串。要获取字符串的首字母,我们可以先将字符串转换为小写,然后提取第一个字符,最后将其转换为大写,因为通常首字母都是大写的。以下是一个简单的示例...
1. **性能优化**:对于需要频繁修改的字符串,考虑使用 `NSMutableString` 而不是 `NSString`。 2. **国际化**:确保使用 `NSLocalizedString` 函数来处理需要本地化的字符串。 3. **安全性**:在处理用户输入时,应...
- 常量字符串:直接使用双引号包裹的文本被视为NSString对象,如`@"i am an iOSDevTip!"`。 - 动态创建:通过`[[NSString alloc] init]`初始化一个空字符串,然后可以通过赋值操作符`=`改变其内容。 - ...
- 使用格式化字符串:`NSString *astring = [NSString stringWithFormat:@"%d. This is %i string!", i, j];` - 创建临时字符串:`NSString *astring = [NSString stringWithCString:"This is a temporary string...
在iOS开发中,NSString是处理文本数据的基本类,它提供了丰富的字符串操作方法。然而,当字符串中含有Unicode编码时,可能会遇到一些问题,如显示异常或处理困难。"NSString+ReplaceUnicode"是一个类别(Category)...
Objective-C中的字符串处理主要包括获取字符串长度、字符串连接、字符串修改(如插入、删除)、字符串比较以及检索字符串等操作。 1. **获取字符串长度**:使用`-[NSString length]`方法。 ```objective-c ...
1. 创建字符串:可以使用`@""`字面量或者`+[NSString stringWithString:]`等方法创建字符串。 2. 字符串比较:`= `比较的是指针,`isEqualToString:`比较的是内容。 3. 大小写转换:`uppercaseString`和`...
在给定的标题“NSHash字符串加密”中,我们关注的是Objective-C中使用NSHash类进行字符串加密的方法。 NSHash是苹果提供的一个轻量级哈希函数集合,它可以对对象进行简单的加密操作,生成一个固定长度的哈希值。...
**1.4 用标准C创建字符串:`initWithCString:`方法** ```objective-c char *Cstring = "This is a String!"; NSString *astring = [[NSString alloc] initWithCString:Cstring]; NSLog(@"astring: %@", astring); [a...
3、无论是声明NSString还是NSMutableString类型的属性时,我们希望此属性被赋值为NSMutableString类型的字符串后,此属性不会因这个可变类型字符串的改变而改变(这也是多数情况下的用法),那就用copy修饰属性