স্ট্রিং অ্যারে স্ট্রিং অনুসন্ধান অবজেক্টিভ সি


87

আমি উদ্দেশ্য সি তে স্ট্রিংগুলির অ্যারেতে একটি নির্দিষ্ট স্ট্রিং সন্ধান করতে চাই। এই ক্ষেত্রে কেউ আমাকে সাহায্য করতে পারে?


এটা কি তোমার বাড়ির কাজ? আমি মনে করি এটি করা সহজ। শুধু লুপিং এবং তুলনা কেন?
ভোডখং

না, এটি হোমওয়ার্ক নয়, আইফোনটিতে খুব বেশি সংস্থান নেই এমন নির্দিষ্ট স্ট্রিং অনুসন্ধান করার জন্য আমার সেরা অ্যালগরিদম দরকার ছিল, কেন আমি প্রশ্নটি রাখি
ফিলিটি নাইট

উত্তর:


193
BOOL isTheObjectThere = [myArray containsObject: @"my string"];

বা আপনার যদি এটি জানতে হয় তবে এটি কোথায়

NSUInteger indexOfTheObject = [myArray indexOfObject: @"my string"];

আমি দৃ strongly ়ভাবে আপনাকে এনএসআরে ডকুমেন্টেশন পড়ার পরামর্শ দিচ্ছি । আপনার প্রশ্ন পোস্ট করার আগে এটি করা ভাল :-)


আসুন আমি বলতে পারি যে আমার কাছে এনএসআর * * আমারআর = [[এনএসআরির বরাদ্দ]] দিয়েআরবি রয়েছে: @ "পরীক্ষা 1", ​​@ "টেস্ট3", @ "টেস্ট3", নীল]; আমি "টেস" অনুসন্ধান করতে চেয়েছিলাম বলার পরে আমি একটি ওয়াইল্ড কার্ড স্টুফের কাজ করতে চেয়েছিলাম, যা আমি বুঝতে পারি না, তাই আমি এই প্রশ্নটি
রেখেছিলাম

আপনি হয় প্রতিটি মানকে লুপ করে পরীক্ষা করে দেখুন বা এনএসপ্রেডিকেট অনুসন্ধান করুন যা সংগ্রহের সামগ্রীর জন্য বেশ বিস্তৃত অনুসন্ধান সরবরাহ করে - এসকিউএল হিসাবে প্রায় শক্তিশালী যেখানে ক্লজস। বিকাশকারী.অ্যাপল.
com

45

স্ট্রিংগুলির অ্যারেতে স্ট্রিংগুলি অনুসন্ধানের জন্য আপনি এনএসপ্রেডিকেট শ্রেণি ব্যবহার করতে পারেন। নীচের নমুনা কোড দেখুন।

NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Maruthi",@"Hyundai", @"Ford", @"Benz", @"BMW",@"Toyota",nil];

NSString *stringToSearch = @"i";

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",stringToSearch]; // if you need case sensitive search avoid '[c]' in the predicate

NSArray *results = [cars filteredArrayUsingPredicate:predicate];

স্ট্রিংগুলির অ্যারেতে স্ট্রিংগুলি অনুসন্ধানের জন্য এটি সর্বাধিক দক্ষ উপায়


এই ছোট অ্যারের জন্য কাজ করে জরিমানা কিন্তু যদি তোমার দর্শন লগ করা খুব বড় অ্যারে (আরও তারপর 30k রেকর্ড) আছে তোমার দর্শন লগ করা কোন ধারণা থাকতে পারে
অমিত গুপ্ত

তারপরে অ্যারে বাছাই করে রাখুন এবং নতুন উপাদান সন্ধান করার জন্য এবং বাইনারি অনুসন্ধান (bsearch) ব্যবহার করুন। এনএসআরাই / এনএস মিউটেবলআর্রে এর জন্য পদ্ধতি রয়েছে।
স্প্যান্টলে

3
NSMutableArray *cars = [NSMutableArray arrayWithObjects:@"Max",@"Hai", @"Fine", @"Bow", @"Bomb",@"Toy",nil];

NSString *searchText = @"i";
 NSArray *results = [cars filteredArrayUsingPredicate:predicate];

// if you need case sensitive search avoid '[c]' in the predicate

 NSPredicate *resultPredicate = [NSPredicate
                                predicateWithFormat:@"title contains[c] %@",
                                searchText];


searchResults = [cars  filteredArrayUsingPredicate:resultPredicate];

যদিও এই কোড স্নিপেট প্রশ্নের উত্তর দিতে পারে তবে এটি কীভাবে প্রশ্নের উত্তর দেয় তার একটি ব্যাখ্যা অন্তর্ভুক্ত করা ভাল যাতে এই উত্তরটি সাইটের ভবিষ্যতের দর্শকদের জন্য কার্যকর
রবভি

এই টুকরো কোডটি শব্দের একটি অ্যারেতে শব্দটি খুঁজে পেতে দুর্দান্ত কাজ করে works
রাহুল কে রাজন

আমি প্রাথমিক পাঠ্য সহ এটি করতে চাই। আমার অর্থ অনুসন্ধানের পাঠ্যটি কোথাও থেকে শুরু না করে মিলানো দরকার। দয়া করে সহায়তা করুন
গৌতম শ্রীবাস্তব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.