এনএসএসস্ট্রিংয়ের প্রথম তিনটি অক্ষর কীভাবে পাবেন?


104

আমি কীভাবে কোনও এনএসএসস্ট্রিংয়ের প্রথম তিনটি অক্ষর ফিরিয়ে দিতে পারি?

উত্তর:


263
 mystr=[mystr substringToIndex:3];

আপনার স্ট্রিংয়ে কমপক্ষে 3 সি আছে তা নিশ্চিত করুন .. ও এটি অ্যাপটিকে ক্র্যাশ করবে।

এনএসস্টিং অপারেশনগুলি পরীক্ষা করতে এখানে আরও কয়েকটি লিঙ্ক রয়েছে ...

Link1

Link2

অ্যাপল লিঙ্ক


21
দ্রষ্টব্য: "সীমার বাইরে বা সূচি ছাড়াই" ত্রুটি সম্ভব যদি আপনি এটির 3 বা ততোধিক অক্ষর লম্বা করে তা নিশ্চিত করার জন্য দৈর্ঘ্যটি পরীক্ষা না করেন
রায়ান বাভেট্টা

আমি খুব নতুন এবং আমি নিজের প্রশ্নের উত্তর দেওয়ার চেষ্টা করার জন্য এই প্রশ্নের সন্ধান করেছি, তবে এই উত্তরটি কি প্রথম 3 টি অক্ষর গ্রহণ করবে না? আপনার সেট করা অক্ষরের সংখ্যা সরিয়ে নিতে আমি একই বাক্য গঠনটি ব্যবহার করি। আমি সম্ভবত ভুল, কিন্তু ভেবেছিলাম আমার কমপক্ষে জিজ্ঞাসা করা উচিত।

@ রায়ানবায়েট্টা যদি আপনি যে স্ট্রিংটির সাথে এটি করছেন তা উদাহরণস্বরূপ একটি তারিখের স্ট্রিং যা আপনার কোডটি আগে তৈরি করেছিল এবং তাই আপনি জানেন যে এটির কতগুলি অক্ষর রয়েছে। তাহলে অবশ্যই এটি কতক্ষণ তা সঠিকভাবে পরীক্ষা করতে আপনার যদি একটি বিবৃতি দিয়ে বিরক্ত করার দরকার নেই, ঠিক ??
সুপারট্যাকনোবফ

1
@ গেমলয়েডিং আমি আপনার উত্তরে কিছু কোড যুক্ত করেছি যাতে এটি নতুনদের জন্য ক্রাশ না হয়। আশা করি আপনি কিছু মনে করবেন না :)
আইইং

ক্র্যাশগুলি এড়ানোর জন্য শুধু মাইরিস্ট = [মাইস্ট্রার স্ট্রিংটওআইডেক্স: এমআইএন (মাইস্টআর লেন্থ, 3)] ব্যবহার করুন :-)
লেবারএটআরস

62

প্রথমত, আপনাকে নিশ্চিত করতে হবে যে স্ট্রিংয়ে কমপক্ষে 3 টি অক্ষর রয়েছে:

NSString *fullString = /* obtain from somewhere */;
NSString *prefix = nil;

if ([fullString length] >= 3)
    prefix = [fullString substringToIndex:3];
else
    prefix = fullString;

substringToIndex: আপনার প্রদত্ত সূচকটি স্ট্রিংয়ের শেষের বাইরে থাকলে একটি ব্যতিক্রম ছুঁড়ে দেবে।


5
অথবা, একটি @ ট্রাই / @ ক্যাপ ব্লক মোড়কে। যাইহোক, এটি অন্যটির চেয়ে ভাল উত্তর।
অ্যালান জেইনো

2

সঠিক উপায়:

text = [text substringToIndex:NSMaxRange([text rangeOfComposedCharacterSequenceAtIndex:2])];

এনএসএসটিংয়ের সাবস্ট্রিংটোইন্ডেক্স সূচী কোড ইউনিট দ্বারা সূচিত হয়, ইমোজি দুটি কোড ইউনিট নেয়।

সূচকে নিজেই পরীক্ষা করে দেখুন।

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