Objective-C文字和字串

2019-10-16 23:14:51

NSString是最常用的類,用於儲存字串和文字。 如果想了解更多有關NSString的資訊,請參閱Objective-C字串中的NSString部分

如前所述,NSCharacterSet表示NSStringNSScanner類使用的各種字元分組。

1. NSCharacterSet

以下是NSCharacterSet中可用的方法集,它們表示各種字元集。

  • alphanumericCharacterSet - 返回包含「字母」,「標記」和「數位」類別中的字元的字元集。
  • capitalizedLetterCharacterSet - 返回包含首字母大寫字母類別中字元的字元集。
  • characterSetWithCharactersInString - 返回包含給定字串中字元的字元集。
  • characterSetWithRange - 返回包含給定範圍內具有Unicode值的字元的字元集。
  • illegalCharacterSet - 返回一個字元集,其中包含非字元類別中的值或尚未在Unicode標準的3.2版中定義的值。
  • letterCharacterSet - 返回包含LettersMarks類別中字元的字元集。
  • lowercaseLetterCharacterSet - 返回包含「小寫字母」類別中字元的字元集。
  • newlineCharacterSet - 返回包含換行符的字元集。
  • punctuationCharacterSet - 返回包含標點符號類別中字元的字元集。
  • symbolCharacterSet - 返回包含符號類別中字元的字元集。
  • uppercaseLetterCharacterSet - 返回包含大寫字母和標題字母類別中字元的字元集。
  • whitespaceAndNewlineCharacterSet - 返回包含Unicode一般類別 Z*U000A~U000DU0085的字元集。
  • whitespaceCharacterSet - 返回僅包含內嵌空白字元空間(U+0020)和製表符(U+0009)的字元集。

範例程式碼如下所示 -

#import <Foundation/Foundation.h>

int main() {
   NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
   NSString *string = @"....Yii Bai.com.....";
   NSLog(@"Initial String :%@", string);

   NSCharacterSet *characterset = [NSCharacterSet punctuationCharacterSet];
   string = [string stringByTrimmingCharactersInSet:characterset];
   NSLog(@"Final String :%@", string);

   [pool drain];
   return 0;
}

執行上面範例程式碼,得到以下結果 -

2018-11-16 04:51:42.927 main[153479] Initial String :....Yii Bai.com.....
2018-11-16 04:51:42.929 main[153479] Final String :Yii Bai.com

可以在上面的程式中看到,修剪了給定字串兩邊的標點符號。這只是使用NSCharacterSet的一個例子。