📜  Objective-C字符串

📅  最后修改于: 2020-11-03 15:56:38             🧑  作者: Mango


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

NSString *greeting = @"Hello";

下面显示了一个创建和打印字符串的简单示例。

#import 

int main () {
   NSString *greeting = @"Hello";
   NSLog(@"Greeting message: %@\n", greeting );

   return 0;
}

当上面的代码被编译和执行时,产生的结果如下:

2013-09-11 01:21:39.922 demo[23926] Greeting message: Hello

Objective-C支持多种用于处理字符串的方法-

Sr.No. Method & Purpose
1

– (NSString *)capitalizedString;

Returns a capitalized representation of the receiver.

2

– (unichar)characterAtIndex:(NSUInteger)index;

Returns the character at a given array position.

3

– (double)doubleValue;

Returns the floating-point value of the receiver’s text as a double.

4

– (float)floatValue;

Returns the floating-point value of the receiver’s text as a float.

5

– (BOOL)hasPrefix:(NSString *)aString;

Returns a Boolean value that indicates whether a given string matches the beginning characters of the receiver.

6

– (BOOL)hasSuffix:(NSString *)aString;

Returns a Boolean value that indicates whether a given string matches the ending characters of the receiver.

7

– (id)initWithFormat:(NSString *)format …;

Returns an NSString object initialized by using a given format string as a template into which the remaining argument values are substituted.

8

– (NSInteger)integerValue;

Returns the NSInteger value of the receiver’s text.

9

– (BOOL)isEqualToString:(NSString *)aString;

Returns a Boolean value that indicates whether a given string is equal to the receiver using a literal Unicode-based comparison.

10

– (NSUInteger)length;

Returns the number of Unicode characters in the receiver.

11

– (NSString *)lowercaseString;

Returns lowercased representation of the receiver.

12

– (NSRange)rangeOfString:(NSString *)aString;

Finds and returns the range of the first occurrence of a given string within the receiver.

13

– (NSString *)stringByAppendingFormat:(NSString *)format …;

Returns a string made by appending to the receiver a string constructed from a given format string and the following arguments.

14

– (NSString *)stringByTrimmingCharactersInSet:(NSCharacterSet *)set;

Returns a new string made by removing from both ends of the receiver characters contained in a given character set.

15

– (NSString *)substringFromIndex:(NSUInteger)anIndex;

Returns a new string containing the characters of the receiver from the one at a given index to the end.

以下示例利用了上述几个功能-

#import 

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;
}

当上面的代码被编译和执行时,产生的结果如下:

2013-09-11 01:15:45.069 demo[30378] Uppercase String :  WORLD
2013-09-11 01:15:45.070 demo[30378] Concatenated string:   HelloWorld
2013-09-11 01:15:45.070 demo[30378] Length of Str3 :  10
2013-09-11 01:15:45.070 demo[30378] Using initWithFormat:   Hello World

您可以在《 NSString类参考》中找到与Objective-C NSString相关的方法的完整列表