আমি NSString
সার্ভার থেকে একটি পেয়েছি । এখন আমি এটি আমার প্রয়োজন সাবস্ট্রিং মধ্যে বিভক্ত করতে চান। কিভাবে স্ট্রিং বিভক্ত?
উদাহরণ স্বরূপ:
সাবস্ট্রিং 1: দ্বিতীয় অক্ষর থেকে 5 তম অক্ষর পর্যন্ত পড়ুন
সাবস্ট্রিং 2: ষষ্ঠ অক্ষর থেকে 10 টি অক্ষর পড়ুন।
আমি NSString
সার্ভার থেকে একটি পেয়েছি । এখন আমি এটি আমার প্রয়োজন সাবস্ট্রিং মধ্যে বিভক্ত করতে চান। কিভাবে স্ট্রিং বিভক্ত?
উদাহরণ স্বরূপ:
সাবস্ট্রিং 1: দ্বিতীয় অক্ষর থেকে 5 তম অক্ষর পর্যন্ত পড়ুন
সাবস্ট্রিং 2: ষষ্ঠ অক্ষর থেকে 10 টি অক্ষর পড়ুন।
উত্তর:
আপনি স্ট্রিং দ্বারা স্ট্রিংকে এনস্ট্রিংয়ের উপাদানগুলি সেপ্রেটেডবাইস্ট্রিং পদ্ধতি ব্যবহার করে বিভক্ত করতে পারেন ।
ডকুমেন্টেশন থেকে উদাহরণ:
NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];
এনএসএসস্ট্রিং এর জন্য কয়েকটি পদ্ধতি রয়েছে:
[myString substringToIndex:index];
[myString substringFromIndex:index];
[myString substringWithRange:range];
আরও তথ্যের জন্য এনএসএসস্ট্রিংয়ের জন্য ডকুমেন্টেশন চেক করুন।
আমি একটি নির্দিষ্ট পরিমাণে অংশগুলিতে স্ট্রিংগুলি বিভক্ত করার জন্য একটি সামান্য পদ্ধতি লিখেছি। মনে রাখবেন এটি কেবল একক বিভাজক অক্ষরকে সমর্থন করে। তবে আমি মনে করি এটি কোনও এনএসএসস্ট্রিংকে বিভক্ত করার একটি কার্যকর উপায়।
//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;
}