2010-09-03 6 views
13
NSString *url = @"http://stackoverflow.com/questions/ask"; 

मैं चौथी "/" की चरित्र स्थिति कैसे प्राप्त कर सकता हूं?एनएसएसटींग चरित्र स्थिति

+0

4 वें "/" से आपका क्या मतलब है, पहले चौथा चरित्र "/" नहीं है। या यदि आपका मतलब है कि चौथा "/" सभी "/" है, जो कि पिछले एक से संबंधित है "/ पूछें" – vodkhang

+0

हां अंतिम "/ पूछें" – Fasid

उत्तर

29

करने की जरूरत है, तो आप इस का उपयोग करने में सक्षम होना चाहिए :

NSRange range = [url rangeOfString:@"/" options:NSBackwardsSearch]; 

से सूचकांक मूल्य प्राप्त:

NSArray* items = [url componentsSeparatedByString:@"/"]; 

पिछले '/' वर्ण के सूचकांक प्राप्त करने के लिए

int count = 0; 
int index = -1; 
for (unsigned int i=0; i < [url length]; ++i) { 
    if ([url characterAtIndex:i] == '/') { 
     ++count; 
     if (count == 4) { 
      index = i; 
      break; 
     } 
    } 
} 
+0

मुझे इंडेक्स प्राप्त करने की आवश्यकता है लेकिन thx – Fasid

+0

यह हमेशा अंतिम नहीं है एक, यह चौथा एक – Fasid

0

मैंने आपकी समस्या को समझने के बाद अपना जवाब संपादित किया।

हितेश की जवाब यह लगभग सही, तो आप सिर्फ तुम सिर्फ यूआरएल के अंतिम भाग प्राप्त करने के लिए प्रयास कर रहे हैं थोड़ा और अधिक

NSArray* items = [url componentsSeparatedByString:@"/"]; 

if ([items count] > 4) { 
    NSString *string = [items objectAtIndex:4]; 
} 
7

आमतौर पर आप पत्र/के सूचकांक प्राप्त करने की जरूरत नहीं है: range.location

यूआरएल से चौथे '/' वर्ण के सूचकांक को खोजने के लिए। आप NSURL में परिभाषित कई सुविधा विधियों का उपयोग कर सकते हैं, this Apple reference देखें। मैं

NSURL* url=[NSURL URLWithString:@"http://stackoverflow.com/questions/ask"]; 
    NSString* last=[url lastPathComponent]; // last is now @"ask" 
5

एक और तरीका क्या करना होगा आप उपयोग कर सकते

[url rangeOfString:@"/" options:NSBackwardsSearch].location 

आशा है कि यह मदद!

+0

है, मैं यह समझने की कोशिश कर रहा था कि एकाधिक CCLabelTTF ब्लॉक में स्ट्रिंग को थूकने के लिए स्ट्रिंग (यानी एक स्थान पर तोड़ना) पर मैन्युअल रूप से "तार्किक" लाइनब्रैक कैसे करें, और यह वही था जो मुझे चाहिए था, धन्यवाद! – redux

+0

यह उत्तर स्वीकार किया जाना चाहिए ... –