আমি কিভাবে একটি রূপান্তর করতে হতাশ করছি NSArray [@"Apple", @"Pear ", 323, @"Orange"]
একটি স্ট্রিং উদ্দেশ্য সি ।
আমি কিভাবে একটি রূপান্তর করতে হতাশ করছি NSArray [@"Apple", @"Pear ", 323, @"Orange"]
একটি স্ট্রিং উদ্দেশ্য সি ।
উত্তর:
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
[array description]
এবং বাইরের প্রথম বন্ধনী সন্নিবেশ করানো হয়েছে।
NSString * myString = [array componentsJoinedByString:@""];
এটির জন্য কি গ্রহণযোগ্য বিকল্প?
<ClassName: InstanceAddress>
। valueForKey
এটা প্রতিটি আইটেমের জন্য নির্দিষ্ট সম্পত্তি উদ্ধার করে তোলে। এক্ষেত্রে , description
এমন কোনও NSString *
সম্পত্তি NSObject
যাঁর গ্রাহককে তার সাবক্লাস দ্বারা ওভাররাইড করা যায়।
একটি পদ্ধতির অ্যারের মাধ্যমে পুনরাবৃত্তি হবে, description
প্রতিটি আইটেমটিতে বার্তা কল :
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
[result appendString:[obj description]];
}
NSLog(@"The concatenated string is %@", result);
আর একটি পদ্ধতি হ'ল প্রতিটি আইটেমের শ্রেণির উপর ভিত্তি করে কিছু করা:
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
if ([obj isKindOfClass:[NSNumber class]])
{
// append something
}
else
{
[result appendString:[obj description]];
}
}
NSLog(@"The concatenated string is %@", result);
আপনি যদি কমা এবং অন্যান্য বহিরাগত তথ্য চান, আপনি কেবল এটি করতে পারেন:
NSString * result = [array description];
-description
যে পরে) এবং তাদের CONCAT ব্যবহার -componentsJoinedByString:
সঙ্গে @""
প্যারামিটার হিসাবে।
আমি মনে করি সঞ্জয়ের উত্তর প্রায় ছিল তবে আমি এটি এইভাবে ব্যবহার করেছি
NSArray *myArray = [[NSArray alloc] initWithObjects:@"Hello",@"World", nil];
NSString *greeting = [myArray componentsJoinedByString:@" "];
NSLog(@"%@",greeting);
আউটপুট:
2015-01-25 08:47:14.830 StringTest[11639:394302] Hello World
যেমনটি সঞ্জয় ইঙ্গিত করেছিলেন - আমি এনএসআর্রে থেকে পদ্ধতিযুক্ত উপাদানসমূহ জয়ডবিস্ট্রিং ব্যবহার করেছি যা যোগদান করে এবং আপনাকে এনএসএসস্ট্রিং ফিরিয়ে দেয়
বিটিডাব্লু এনএসএসআরটিংয়ের বিপরীত পদ্ধতির উপাদানগুলি সেপ্রেটেডবাইস্ট্রিং রয়েছে যা বিভাজন করে এবং আপনাকে এনএসআরিকে ফিরে দেয় ।
আমি সম্প্রতি অবজেক্টিভ-সি স্ট্রিংয়ের জন্য একটি দুর্দান্ত টিউটোরিয়াল পেয়েছি:
http://ios-blog.co.uk/tutorials/objective-c-strings-a-guide-for-beginners/
এবং আমি ভেবেছিলাম এটি সম্ভবত আগ্রহী:
আপনি যদি স্ট্রিংটিকে অ্যারেতে বিভক্ত করতে চান তবে এটি অর্জনের জন্য উপাদানগুলি সেপ্রেটেডবাইস্ট্রিং নামে একটি পদ্ধতি ব্যবহার করুন:
NSString *yourString = @"This is a test string";
NSArray *yourWords = [myString componentsSeparatedByString:@" "];
// yourWords is now: [@"This", @"is", @"a", @"test", @"string"]
আপনার যদি বেশ কয়েকটি ভিন্ন চরিত্রের সেটগুলিতে বিভক্ত হওয়া প্রয়োজন হয় তবে এনএসএসআরটিংয়ের উপাদানগুলি সেপ্রেটেডবাইচার্যাক্টরসআইনসেট ব্যবহার করুন:
NSString *yourString = @"Foo-bar/iOS-Blog";
NSArray *yourWords = [myString componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"-/"]
];
// yourWords is now: [@"Foo", @"bar", @"iOS", @"Blog"]
তবে নোট করুন যে বিভাজক স্ট্রিং ফাঁকা হতে পারে না। যদি আপনার স্ট্রিংটির পৃথক অক্ষরে আলাদা করতে হয় তবে কেবল স্ট্রিংয়ের দৈর্ঘ্যটি লুপ করুন এবং প্রতিটি চরকে একটি নতুন স্ট্রিংয়ে রূপান্তর করুন:
NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[myString length]];
for (int i=0; i < [myString length]; i++) {
NSString *ichar = [NSString stringWithFormat:@"%c", [myString characterAtIndex:i]];
[characters addObject:ichar];
}
NSString * str = [componentsJoinedByString:@""];
এবং আপনি dic বা একাধিক অ্যারে তারপর বেলো ব্যবহার করা হয়
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three", nil];
NSString *stringFromArray = [array componentsJoinedByString:@" "];
প্রথম লাইন বস্তুর সাহায্যে একটি অ্যারের সূচনা করে। দ্বিতীয় রেখা "" র ভিতরে স্ট্রিং যুক্ত করে সেই অ্যারের সমস্ত উপাদানগুলিতে যোগদান করে এবং একটি স্ট্রিং প্রদান করে।
উদ্দেশ্য সি সমাধান
NSArray * array = @[@"1", @"2", @"3"];
NSString * stringFromArray = [[array valueForKey:@"description"] componentsJoinedByString:@"-"]; // "1-2-3"
যারা এর সমাধান খুঁজছেন Swift
যদি অ্যারেটিতে স্ট্রিং থাকে তবে আপনি স্ট্রিংয়ের যোগদানের পদ্ধতিটি ব্যবহার করতে পারেন:
var array = ["1", "2", "3"]
let stringFromArray = "-".join(array) // "1-2-3"
সুইফট 2 এ:
var array = ["1", "2", "3"]
let stringFromArray = array.joinWithSeparator("-") // "1-2-3"
সুইফট 3 এবং 4 এ
var array = ["1", "2", "3"]
let stringFromArray = array.joined(separator: "-") // "1-2-3"