Objective-C 字符串
Objective-C 编程语言中的字符串使用 NSString
表示,其子类 NSMutableString 提供了几种创建字符串对象的方法。创建字符串对象的最简单方法是使用 Objective-C @"…" construct
NSString *greeting = @"Hello";
下面是创建和打印字符串的简单实例。
#import <Foundation/Foundation.h>
int main () {
NSString *greeting = @"Hello";
NSLog(@"Greeting message: %@\n", greeting );
return 0;
}
当编译和执行上述代码时,它会产生如下结果 Objective-C 支持多种操作字符串的方法:
编号 | 方法 & 目的 |
---|---|
1 | - (NSString )capitalizedString; 返回接收的大写表示形式。 |
2 | - (unichar)characterAtIndex:(NSUInteger)index; 返回给定数组位置的字符。 |
3 | - (double)doubleValue; 以双精度形式返回接文本的浮点值。 |
4 | - (float)floatValue; 以浮点形式返回接收文本的浮点值。 |
5 | - (BOOL)hasPrefix:(NSString )aString; 返回一个布尔值,该值指示给定字符串是否与接收的开头字符匹配。 |
6 | - (BOOL)hasSuffix:(NSString )aString; 返回一个布尔值,该值指示给定字符串是否与接收的结束字符匹配。 |
7 | - (id)initWithFormat:(NSString )format …; 返回通过使用给定格式字符串作为模板初始化的 NSString 对象,剩余参数值将被替换到该模板中。 |
8 | - (NSInteger)integer值; 返回接收文本的 NSInteger 值。 |
9 | - (BOOL)isEqualToString:(NSString )aString; 返回一个布尔值,该值指示给定字符串是否等于使用基于文本 Unicode 比较的接收值。 |
10 | - (NSUInteger)length; 返回接收值中的 Unicode 字符数。 |
11 | - (NSString )lowercaseString; 返回接收的小写表示形式。 |
12 | - (NSRange)rangeOfString:(NSString )aString; 查找并返回接收值中给定字符串第一次出现的范围。 |
13 | - (NSString )stringByAppendingFormat:(NSString )format …; 返回一个字符串,该字符串是通过将由给定格式字符串和以下参数构造的字符串附加到接收值而生成的。 |
14 | - (NSString )stringByTrimmingCharactersInSet:(NSCharacterSet )set; 返回一个新字符串,该字符串是通过从给定字符集中包含的接收字符的两端移除而生成的。 |
15 | - (NSString )substringFromIndex:(NSUInteger)anIndex; 返回一个新字符串,该字符串包含从给定索引处到末尾的接收值字符。 |
下面的实例使用了上面提到的几个函数:
#import <Foundation/Foundation.h>
int main () {
NSString *str1 = @"Hello";
NSString *str2 = @"World";
NSString *str3;
int len ;
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
/* uppercase string */
str3 = [str2 uppercaseString];
NSLog(@"Uppercase String : %@\n", str3 );
/* concatenates str1 and str2 */
str3 = [str1 stringByAppendingFormat:@"World"];
NSLog(@"Concatenated string: %@\n", str3 );
/* total length of str3 after concatenation */
len = [str3 length];
NSLog(@"Length of Str3 : %d\n", len );
/* InitWithFormat */
str3 = [[NSString alloc] initWithFormat:@"%@ %@",str1,str2];
NSLog(@"Using initWithFormat: %@\n", str3 );
[pool drain];
return 0;
}
结果如下:
2022-07-07 01:15:45.069 demo[30378] Uppercase String : WORLD
2022-07-07 01:15:45.070 demo[30378] Concatenated string: HelloWorld
2022-07-07 01:15:45.070 demo[30378] Length of Str3 : 10
2022-07-07 01:15:45.070 demo[30378] Using initWithFormat: Hello World
Objective-C NSString 相关方法的完整列表,请访问 NSString Class Reference