উত্তর:
আপনি এই -hasPrefix:
পদ্ধতিটি ব্যবহার করতে পারেন NSString
:
উদ্দেশ্য গ:
NSString* output = nil;
if([string hasPrefix:@"*"]) {
output = [string substringFromIndex:1];
}
সুইফট:
var output:String?
if string.hasPrefix("*") {
output = string.substringFromIndex(string.startIndex.advancedBy(1))
}
hasPrefix বিশেষভাবে ভাল কাজ করে। উদাহরণস্বরূপ, যদি আপনি একটিতে একটি HTTP url সন্ধান করছিলেন NSString
, আপনি componentsSeparatedByString
একটি তৈরি করতে NSArray
এবং পুনরুক্তিটি অ্যারের তৈরি hasPrefix
করতে ব্যবহার করে HTTP দিয়ে শুরু হওয়া উপাদানগুলির সন্ধান করতে পারেন।
NSArray *allStringsArray =
[myStringThatHasHttpUrls componentsSeparatedByString:@" "]
for (id myArrayElement in allStringsArray) {
NSString *theString = [myArrayElement description];
if ([theString hasPrefix:@"http"]) {
NSLog(@"The URL is %@", [myArrayElement description]);
}
}
hasPrefix
একটি বুলিয়ান মান প্রদান করে যা নির্দেশ করে যে প্রদত্ত স্ট্রিংটি প্রাপকের প্রথম অক্ষরের সাথে মেলে কিনা।
- (BOOL)hasPrefix:(NSString *)aString,
প্যারামিটারটি aString
এমন একটি স্ট্রিং যা আপনি রিটার্ন মানটির জন্য সন্ধান করছেন এটি হ্যাঁ, যদি স্ট্রিং রিসিভারের শুরুর অক্ষরের সাথে মেলে, অন্যথায় না। aString
খালি থাকলে কোনও নম্বর দেয় না ।
ব্যবহার characterAtIndex:
। প্রথম অক্ষরটি যদি একটি তারকাচিহ্ন থাকে substringFromIndex:
তবে স্ট্রিং সান '*' পেতে ব্যবহার করুন ।
এটি করার জন্য অন্য পদ্ধতি ..
এটি কাউকে সাহায্য করতে পারে ...
if ([[temp substringToIndex:4] isEqualToString:@"http"]) {
//starts with http
}
আরও সাধারণ উত্তর হিসাবে, hasPrefix পদ্ধতি ব্যবহার করার চেষ্টা করুন। উদাহরণস্বরূপ, নীচের কোডটি 10 টি দিয়ে একটি স্ট্রিং শুরু হয় কিনা তা যাচাই করে যা কোনও নির্দিষ্ট সমস্যা চিহ্নিত করতে ব্যবহৃত ত্রুটি কোড।
NSString* myString = @"10:Username taken";
if([myString hasPrefix:@"10"]) {
//display more elegant error message
}
এই সাহায্য করতে পারে? :)
কেবল সূচক 0-তে অক্ষরটি অনুসন্ধান করুন এবং এটির যে মূল্যটি আপনি খুঁজছেন তার সাথে তুলনা করুন!
এই দুর্দান্ত সামান্য কোডটি আমি সুযোগ পেয়েছি এবং এটি স্ট্যাকের জন্য প্রস্তাবিত এখনও দেখতে পেলাম। এটি কেবলমাত্র তখনই কার্যকর হয় যখন আপনি যে অক্ষরগুলি মুছতে বা পরিবর্তন করতে চান তা উপস্থিত থাকে, যা অনেক পরিস্থিতিতে উপযুক্ত। চরিত্র / গুলি উপস্থিত না থাকলে এটি আপনার এনএসএস স্ট্রিংকে পরিবর্তন করবে না:
NSString = [yourString stringByReplacingOccurrencesOfString:@"YOUR CHARACTERS YOU WANT TO REMOVE" withString:@"CAN either be EMPTY or WITH TEXT REPLACEMENT"];
আমি এটি এইভাবে ব্যবহার করি:
//declare what to look for
NSString * suffixTorRemove = @"</p>";
NSString * prefixToRemove = @"<p>";
NSString * randomCharacter = @"</strong>";
NSString * moreRandom = @"<strong>";
NSString * makeAndSign = @"&amp;";
//I AM INSERTING A VALUE FROM A DATABASE AND HAVE ASSIGNED IT TO returnStr
returnStr = [returnStr stringByReplacingOccurrencesOfString:suffixTorRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:prefixToRemove withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:randomCharacter withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:moreRandom withString:@""];
returnStr = [returnStr stringByReplacingOccurrencesOfString:makeAndSign withString:@"&"];
//check the output
NSLog(@"returnStr IS NOW: %@", returnStr);
এই এক লাইনটি একটিতে তিনটি ক্রিয়া সম্পাদন করা অত্যন্ত সহজ:
NSString* expectedString = nil;
if([givenString hasPrefix:@"*"])
{
expectedString = [givenString substringFromIndex:1];
}
hasPrefix:@"word"
আপনি একটিতে সঞ্চিত একাধিক মান পরীক্ষা করে দেখুনNSArray
? উদাহরণস্বরূপ:NSArray *words = [NSArray arrayWithObjects:@"foo",@"bar",@"baz",nil];
?