Objectvie-CのNSString処理テクニック:文字列の分割
3191 ワード
一、ノード付き文字列、例えば@「
処理方法1:
印刷結果:
2013-05-31 10:55:34.017 string[17634:303]
Array=(",",",",",",",",",",",",",",",",",",",",",",",",",",",",",",",",")2013-05-31 10:55:34.49 string[17634:303]string=嫌いなノード
二、スペース付き文字列、例えば
@「hello world」スペースを外す
印刷結果:
2013-05-31 11:02:49.656 string[17889:303] array = ( hello, world ) 2013-05-31 11:02:49.657 string[17889:303] newString = helloworld
PS:アルファベットなど他の要素を扱うにはNSCharacterSetの値を変えるだけです.
嫌いなノード
処理方法1:
NSString *string1 = @"<p> <br/></p>";
/* characterSet1 , , , < p / , */
NSCharacterSet *characterSet1 = [NSCharacterSet characterSetWithCharactersInString:@"<p/brh>"];
// string1 characterSet1
NSArray *array1 = [string1 componentsSeparatedByCharactersInSet:characterSet1];
NSLog(@"array = %@",array1);
for(NSString *string1 in array1)
{
if ([string1 length]>0) {
// string
NSLog(@"string = %@",string1);
}
}
印刷結果:
2013-05-31 10:55:34.017 string[17634:303]
Array=(",",",",",",",",",",",",",",",",",",",",",",",",",",",",",",",",")2013-05-31 10:55:34.49 string[17634:303]string=嫌いなノード
二、スペース付き文字列、例えば
@「hello world」スペースを外す
NSString *string2 = @"hello world";
/* */
NSCharacterSet *characterSet2 = [NSCharacterSet whitespaceCharacterSet];
// string1 characterSet1
NSArray *array2 = [string2 componentsSeparatedByCharactersInSet:characterSet2];
NSLog(@"
array = %@",array2);
//
NSMutableString *newString1 = [NSMutableString string];
for(NSString *string in array1)
{
[newString1 appendString:string];
}
NSLog(@"newString = %@", newString1);
印刷結果:
2013-05-31 11:02:49.656 string[17889:303] array = ( hello, world ) 2013-05-31 11:02:49.657 string[17889:303] newString = helloworld
PS:アルファベットなど他の要素を扱うにはNSCharacterSetの値を変えるだけです.
+ (id)controlCharacterSet;
+ (id)whitespaceCharacterSet;
+ (id)whitespaceAndNewlineCharacterSet;
+ (id)decimalDigitCharacterSet;
+ (id)letterCharacterSet;
+ (id)lowercaseLetterCharacterSet;
+ (id)uppercaseLetterCharacterSet;
+ (id)nonBaseCharacterSet;
+ (id)alphanumericCharacterSet;
+ (id)decomposableCharacterSet;
+ (id)illegalCharacterSet;
+ (id)punctuationCharacterSet;
+ (id)capitalizedLetterCharacterSet;
+ (id)symbolCharacterSet;
+ (id)newlineCharacterSet NS_AVAILABLE(10_5, 2_0);
+ (id)characterSetWithRange:(NSRange)aRange;
+ (id)characterSetWithCharactersInString:(NSString *)aString;
+ (id)characterSetWithBitmapRepresentation:(NSData *)data;
+ (id)characterSetWithContentsOfFile:(NSString *)fName;