আমার মতো স্ট্রিং রয়েছে: @"10/04/2011"
এবং আমি অন্য স্ট্রিংয়ে কেবল "10" সংরক্ষণ করতে চাই। আমি এটা কিভাবে করবো?
আমার মতো স্ট্রিং রয়েছে: @"10/04/2011"
এবং আমি অন্য স্ট্রিংয়ে কেবল "10" সংরক্ষণ করতে চাই। আমি এটা কিভাবে করবো?
উত্তর:
NSArray* foo = [@"10/04/2011" componentsSeparatedByString: @"/"];
NSString* firstBit = [foo objectAtIndex: 0];
আপডেট 7/3/2018:
এখন যেহেতু প্রশ্নটি একটি সুইফ্ট ট্যাগ অর্জিত হয়েছে, আমার এটি করা সুইফট পদ্ধতিটি যুক্ত করা উচিত। এটি বেশ সহজ হিসাবে:
let substrings = "10/04/2011".split(separator: "/")
let firstBit = substrings[0]
যদিও নোট করুন এটি আপনাকে একটি অ্যারে দেয় Substring
। আপনার যদি এগুলিকে সাধারণ স্ট্রিতে রূপান্তর করতে হয় তবে ব্যবহার করুনmap
let strings = "10/04/2011".split(separator: "/").map{ String($0) }
let firstBit = strings[0]
অথবা
let firstBit = String(substrings[0])
[foo firstObject]
সাধারণ ক্ষেত্রে ব্যবহার করা আরও ভাল হতে পারে কারণ এটি খালি অ্যারেও সঠিকভাবে পরিচালনা করবে।
এই 2 এর যে কোনও একটি:
NSString *subString = [dateString subStringWithRange:NSMakeRange(0,2)];
NSString *subString = [[dateString componentsSeparatedByString:@"/"] objectAtIndex:0];
যদিও মনে রাখবেন যে কখনও কখনও তারিখের স্ট্রিং সঠিকভাবে ফর্ম্যাট হয় না এবং একটি দিন (বা সেই বিষয়ে এক মাস) 08 এর পরিবর্তে 8 হিসাবে দেখানো হয় তাই প্রথম সমাধানটি 2 টির মধ্যে সবচেয়ে খারাপ হতে পারে।
পরবর্তীটি পৃথক অ্যারেতে রাখা উচিত যাতে আপনি ফিরে আসা জিনিসটির দৈর্ঘ্যটি যাচাই করতে পারেন, সুতরাং আপনার যে উত্স থেকে কোনও দুর্নীতিগ্রস্থ বা অবৈধ তারিখের স্ট্রিংয়ের ক্ষেত্রে আপনি কোনও ব্যতিক্রম পাবেন না।
এটা ঠিক আছে
NSString *dateString = @"10/10/2010";//Date
NSArray* dateArray = [dateString componentsSeparatedByString: @"/"];
NSString* dayString = [dateArray objectAtIndex: 0];
ব্যবহার [myString componentsSeparatedByString:@"/"]
আমি নীচে আরও জেনেরিক পুনরায় ব্যবহারযোগ্য ফাংশনে জেরেমিপ দ্বারা সরবরাহ করা সুন্দর সমাধানটি ফর্ম্যাট করেছি :
///Return an ARRAY containing the exploded chunk of strings
+(NSArray*)explodeString:(NSString*)stringToBeExploded WithDelimiter:(NSString*)delimiter
{
return [stringToBeExploded componentsSeparatedByString: delimiter];
}