[Objective-C语言教程]字符串(16)

Objective-C编程语言中的字符串使用NSString表示,其子类NSMutableString提供了几种创建字符串对象的方法。 创建字符串对象的最简单方法是使用Objective-C的标识符:@""来构造 -

1 NSString *greeting = @"Hello";
2 NSString *siteName = @"Yiibai";

下面代码中显示了创建和打印字符串的简单示例 -

1 #import <Foundation/Foundation.h>
2
3 int main () {
4    NSString *greeting = @"Hello, All Readers";
5    NSLog(@"Greeting message: %@\n", greeting );
6
7    return 0;
8 }

编译和执行上面的代码时,它产生的结果如下 -

2018-11-15 06:41:29.480 main[76503] Greeting message: Hello, All Readers

Objective-C支持多种操作字符串的方法,如下列表 -

编号 方法 描述
1 - (NSString *)capitalizedString; 返回接收者的大写字母表示。
2 - (unichar)characterAtIndex:(NSUInteger)index; 返回给定数组位置的字符。
3 - (double)doubleValue; double形式返回接收者文本的浮点值。
4 - (float)floatValue; float形式返回接收者文本的浮点值。
5 - (BOOL)hasPrefix:(NSString *)aString; 返回一个布尔值,指示给定字符串是否与接收者的开头字符匹配。
6 - (BOOL)hasSuffix:(NSString *)aString; 返回一个布尔值,指示给定字符串是否与接收者的结尾字符匹配。
7 - (id)initWithFormat:(NSString *)format ...; 返回通过使用给定格式字符串作为模板初始化的NSString对象,其余的参数值将替换到此模板中。
8 - (NSInteger)integerValue; 返回接收者文本的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; 返回一个新字符串,其中包含接收者从给定索引处的字符到结尾的字符。

以下示例代码中,使用了上述几个函数 -

 1 #import <Foundation/Foundation.h>
 2
 3 int main () {
 4    NSString *str1 = @"Hello";
 5    NSString *str2 = @"World";
 6    NSString *str3;
 7    int  len ;
 8
 9    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
10
11    /* 大写字符串 */
12    str3 = [str2 uppercaseString];
13    NSLog(@"Uppercase String :  %@\n", str3 );
14
15    /* 连接str1和str2 */
16    str3 = [str1 stringByAppendingFormat:@"World"];
17    NSLog(@"Concatenated string:   %@\n", str3 );
18
19    /* 连接后str3的总长度 */
20    len = [str3 length];
21    NSLog(@"Length of Str3 :  %d\n", len );
22
23    /* InitWithFormat */
24    str3 = [[NSString alloc] initWithFormat:@"%@ %@",str1,str2];
25    NSLog(@"Using initWithFormat:   %@\n", str3 );
26    [pool drain];
27
28    return 0;
29 }

执行上面示例代码,得到以下结果:

1 2018-11-15 07:00:20.805 main[72848] Uppercase String :  WORLD
2 2018-11-15 07:00:20.806 main[72848] Concatenated string:   HelloWorld
3 2018-11-15 07:00:20.806 main[72848] Length of Str3 :  10
4 2018-11-15 07:00:20.806 main[72848] Using initWithFormat:   Hello World

可以在NSString类参考中找到更多与Objective-C NSString相关方法的完整列表。

Framework:Foundation

原文地址:https://www.cnblogs.com/strengthen/p/10569829.html

时间: 2024-08-02 14:15:15

[Objective-C语言教程]字符串(16)的相关文章

Swift3.0语言教程获取C字符串

Swift3.0语言教程获取C字符串 Swift3.0语言教程获取C字符串,为了让Swift和C语言可以实现很好的交互,开发者可以使用NSString的cString(using:)方法在指定编码格式后,获取C字符串,其语法形式如下: func cString(using: UInt) 其中,using用来指定编码格式. [示例1-19]以下将使用cString(using:)方法获取C字符串. import Foundation var str1=NSString(string:"Hello&

Swift3.0语言教程获取字符串编码与哈希地址

Swift3.0语言教程获取字符串编码与哈希地址 Swift3.0语言教程获取字符串编码与哈希地址,以下将讲解字符串中其它内容的获取方法. 1.获取字符串编码 在NSString中可以使用2个属性获取字符串编码,分别为availableStringEncodings属性和defaultCStringEncoding属性. (1)availableStringEncodings属性可以用来获取NSString可用的字符串编码.其语法形式如下: class var availableStringEn

Swift3.0语言教程比较、判断字符串

Swift3.0语言教程比较.判断字符串 Swift3.0语言教程比较.判断字符串,在一个程序中字符串很多时,常常会做的操作就是对这些字符串进行比较和判断.本小节将讲解这些内容. 1.不区分大小写比较 字符串比较可以分为:不区分大小写比较.区分大小写比较以及本地化比较三部分.首先我们来看不区分大小写比较,不区分大小写比较顾名思义就是不区分字符串中字母的大小写,即A和a相同.在NSString中使用caseInsensitiveCompare(_:)方法实现这一功能,其语法形式如下: func c

Swift3.0语言教程使用指针创建和初始化字符串

Swift3.0语言教程使用指针创建和初始化字符串 Swift3.0语言教程使用指针创建和初始化字符串苹果的Swift团队花了不少功夫来支持C的一些基础特性.C语言中为我们提供了指针,Swift也不例外,开发者可以使用指针去创建和初始化字符串. (1)在NSString中init(bytes:length:encoding:)方法可以从给定字符串按照指定获取方向,得到指定个数的字符,然后使用这些字符创建和初始化字符串.其语法形式如下: convenience init?(bytes: Unsaf

C语言中字符串如何转换为二进制、八进制、十进制、十六进制

在C语言某个程序当中需要把文本16进制转换成对应的16进制数,比如字符串"0x1a"转换成10进制的26,可以用以下函数来实现 相关函数: atof, atoi, atol, strtod, strtoul表头文件: #include <stdlib.h>定义函数: long int strtol(const char *nptr, char **endptr, int base):函数的解释说明 这个函数会将参数nptr字符串根据参数base来转换成长整型数.参数base

YAML 语言教程(转载)

用YAML语言读取配置是最快的,之前的suricata中用yaml读取了配置,并且在代码运行期间,对配置进行了维护,所以抽点时间,来了解一下YAML语言编程,下文虽然对YAML语言和JAVAScript语言的相同语句进行了比对.但也不失为一个好的YAML入门教程. 原文地址:http://www.ruanyifeng.com/blog/2016/07/yaml.html?f=tt YAML 语言教程 作者: 阮一峰 日期: 2016年7月 4日 编程免不了要写配置文件,怎么写配置也是一门学问.

Swift2.0语言教程之下标脚本

Swift2.0语言教程之下标脚本 下标脚本 下标脚本是訪问对象.集合或者序列的高速方式.开发人员不须要调用实例特定的赋值和訪问方法,就能够直接訪问所须要的数值. 比如在数组中,能够直接使用下标去訪问或者改动数组中的某一个元素. 代码例如以下: import Foundation var array=["One","Two","Three","Four","Five"] print("訪问元素:\

C语言各类字符串函数的实现

C语言各类字符串函数的实现 开学就要开始找工作了,我觉得这些函数被问到的几率还是很大的,所以在这里与大家分享 strlen函数 原型: #include <string.h> unsigned int strlen (char *s); 功能:计算指定的字符串s 的长度,不包括结束字符"\0". 我的实现: /************************************************************************* > File

iOS开发-OC语言 (三)字符串

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; text-align: center; font: 24.0px "PingFang SC" } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px Helvetica; min-height: 29.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "PingFang SC&