कैसे iOS पर सबस्ट्रिंग में स्ट्रिंग विभाजित करने के लिए?

वोट
80

मैं सर्वर से एक NSString प्राप्त किया। अब मैं इसे सबस्ट्रिंग मैं जरूरत में विभाजित करना चाहते हैं। कैसे स्ट्रिंग विभाजित करने के लिए?

उदाहरण के लिए:

substring1: 5th चरित्र से पीछे नहीं चरित्र से पढ़ा

substring2: 6th चरित्र से 10 अक्षर पढ़ें।

27/02/2009 को 10:17
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


3 जवाब

वोट
211

तुम भी सबस्ट्रिंग द्वारा एक स्ट्रिंग विभाजित कर सकते हैं, nSTRING का उपयोग componentsSeparatedByString विधि।

दस्तावेज़ से उदाहरण:

NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];
27/02/2009 को 10:43
का स्रोत उपयोगकर्ता

वोट
38

NSString ऐसा होने के कुछ तरीकों है:

[myString substringToIndex:index];
[myString substringFromIndex:index];
[myString substringWithRange:range];

अधिक जानकारी के लिए NSString के लिए दस्तावेज़ की जाँच करें।

27/02/2009 को 10:20
का स्रोत उपयोगकर्ता

वोट
0

मैं भागों की एक निर्धारित राशि में तार विभाजित करने के लिए एक छोटे से विधि लिखा था। ध्यान दें कि यह केवल एक विभाजक वर्ण का समर्थन करता है। लेकिन मुझे लगता है कि यह एक NSString विभाजित करने के लिए एक कारगर तरीका है।

//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;
}
13/12/2016 को 10:24
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more