किसी की मदद कर सकते हैं मुझे इस स्ट्रिंग से पूर्णांक टाइमस्टैम्प मान प्राप्त करने के "/ तारीख (1242597600000) /" उद्देश्य सी मेंउद्देश्य सी में तार पार्स करने के लिए कैसे
मैं प्राप्त करना चाहते हैं 1242597600000.
Thx
किसी की मदद कर सकते हैं मुझे इस स्ट्रिंग से पूर्णांक टाइमस्टैम्प मान प्राप्त करने के "/ तारीख (1242597600000) /" उद्देश्य सी मेंउद्देश्य सी में तार पार्स करने के लिए कैसे
मैं प्राप्त करना चाहते हैं 1242597600000.
Thx
एक सरल विधि:
NSString *timestampString = @"\/Date(1242597600000)\/";
NSArray *components = [timestampString componentsSeparatedByString:@"("];
NSString *afterOpenBracket = [components objectAtIndex:1];
components = [afterOpenBracket componentsSeparatedByString:@")"];
NSString *numberString = [components objectAtIndex:0];
long timeStamp = [numberString longValue];
वैकल्पिक रूप से यदि आप जानते हैं स्ट्रिंग हमेशा एक लंबाई और प्रारूप हो जाएगा, आप इस्तेमाल कर सकते हैं:
NSString *numberString = [timestampString substringWithRange:NSMakeRange(7,13)];
और किसी अन्य विधि:
NSRange openBracket = [timestampString rangeOfString:@"("];
NSRange closeBracket = [timestampString rangeOfString:@")"];
NSRange numberRange = NSMakeRange(openBracket.location + 1, closeBracket.location - openBracket.location - 1);
NSString *numberString = [timestampString substringWithRange:numberRange];
एक से अधिक तरीके यह करने के लिए नहीं है। एनएसएस कैनर का उपयोग करके एक सुझाव यहां दिया गया है;
NSString *dateString = @"\/Date(1242597600000)\/";
NSScanner *dateScanner = [NSScanner scannerWithString:dateString];
NSInteger timestamp;
if (!([dateScanner scanInteger:×tamp])) {
// scanInteger returns NO if the extraction is unsuccessful
NSLog(@"Unable to extract string");
}
// If no error, then timestamp now contains the extracted numbers.
आईएमओ एनएसएसकेनर ऐसा करने का _the_ तरीका है। मैं एक एनएसएससीनर जुंकी हूं =) – monowerker
यह संख्या निकालने नहीं है। यह '/ दिनांक (' उपसर्ग 'के कारण विफल रहता है। –
NSCharacterSet* nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
NSString* digitString = [timestampString stringByTrimmingCharactersInSet:nonDigits];
return [digitString longValue];
Thx, कि मुझे मदद की एक बहुत – Mladen
संपादित 'NSRangeMake' को' NSMakeRange' बदलने के लिए। – jrdioko