Ben sunucudan bir NSString aldı. Şimdi ben gerek alt dizeye bunu bölmek istiyorum. Nasıl dize bölmek?
Örneğin:
substring1: 5 karaktere ikinci karakteri okunan
substring2: 6 karakterden 10 karakter okuyun.
Ben sunucudan bir NSString aldı. Şimdi ben gerek alt dizeye bunu bölmek istiyorum. Nasıl dize bölmek?
Örneğin:
substring1: 5 karaktere ikinci karakteri okunan
substring2: 6 karakterden 10 karakter okuyun.
Ayrıca nSTRING en kullanarak, bir altkatarıyla bir dize bölebilirsiniz componentsSeparatedByString yöntemi.
belgeleri Örnek:
NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];
NSString Bunun birkaç yöntem vardır:
[myString substringToIndex:index];
[myString substringFromIndex:index];
[myString substringWithRange:range];
Daha fazla bilgi için NSString belgelerine bakın.
Ben parçaların belirli bir miktarda dizeleri bölmek için biraz yöntemi yazdı. sadece tek ayırıcı karakterlerini desteklediğini unutmayın. Ama bunun bir NSString bölmek için etkili bir yol olduğunu düşünüyorum.
//split string into given number of parts
-(NSArray*)splitString:(NSString*)string withDelimiter:(NSString*)delimiter inParts:(int)parts{
NSMutableArray* array = [NSMutableArray array];
NSUInteger len = [string length];
unichar buffer[len+1];
//put separator in buffer
unichar separator[1];
[delimiter getCharacters:separator range:NSMakeRange(0, 1)];
[string getCharacters:buffer range:NSMakeRange(0, len)];
int startPosition = 0;
int length = 0;
for(int i = 0; i < len; i++) {
//if array is parts-1 and the character was found add it to array
if (buffer[i]==separator[0] && array.count < parts-1) {
if (length>0) {
[array addObject:[string substringWithRange:NSMakeRange(startPosition, length)]];
}
startPosition += length+1;
length = 0;
if (array.count >= parts-1) {
break;
}
}else{
length++;
}
}
//add the last part of the string to the array
[array addObject:[string substringFromIndex:startPosition]];
return array;
}