সুইফট 4-র জন্য আপডেট হয়েছে
একটি স্ট্রিং কী দিয়ে শুরু হয় এবং শেষ হয় তা দিয়ে পরীক্ষা করা হচ্ছে
আপনি অন্য স্ট্রিংয়ের সাথে সাম্যতা পরীক্ষা করার জন্য hasPrefix(_:)এবং hasSuffix(_:)পদ্ধতিগুলি ব্যবহার করতে পারেন ।
let str = "Hello, playground"
if str.hasPrefix("Hello") { // true
print("Prefix exists")
}
if str.hasSuffix("ground") { // true
print("Suffix exists")
}
প্রকৃত উপসর্গ এবং প্রত্যয় সাবস্ট্রিংগুলি প্রাপ্ত করা
প্রকৃত উপসর্গ বা প্রত্যয় সাবস্ট্রিং পেতে, আপনি নিম্নলিখিত পদ্ধতির একটি ব্যবহার করতে পারেন। আমি এর সরলতার জন্য প্রথম পদ্ধতির প্রস্তাব দিই। সমস্ত পদ্ধতি strহিসাবে ব্যবহার
let str = "Hello, playground"
পদ্ধতি 1: (প্রস্তাবিত) prefix(Int)এবংsuffix(Int)
let prefix = String(str.prefix(5)) // Hello
let suffix = String(str.suffix(6)) // ground
এটি আমার মতে আরও ভাল পদ্ধতি। নীচে 2 এবং 3 পদ্ধতিগুলির বিপরীতে, সূচকগুলি সীমা ছাড়িয়ে গেলে এই পদ্ধতিটি ক্রাশ হবে না। এটি কেবল স্ট্রিংয়ের সমস্ত অক্ষরকে ফিরিয়ে দেবে।
let prefix = String(str.prefix(225)) // Hello, playground
let suffix = String(str.suffix(623)) // Hello, playground
অবশ্যই, কখনও কখনও ক্র্যাশগুলি ভাল হয় কারণ তারা আপনাকে জানিয়ে দেয় যে আপনার কোডে কোনও সমস্যা আছে। সুতরাং নীচের দ্বিতীয় পদ্ধতিটিও বিবেচনা করুন। সূচক সীমা ছাড়িয়ে গেলে এটি একটি ত্রুটি ফেলবে।
পদ্ধতি 2: prefix(upto:)এবংsuffix(from:)
সুইফ্ট স্ট্রিং সূচিপত্রগুলি জটিল কারণ তাদের বিশেষ অক্ষরগুলি (ইমোজি এর মতো) বিবেচনায় নিতে হবে। তবে একবার সূচক পেলে উপসর্গ বা প্রত্যয় পাওয়া সহজ। (দেখুন আমার অন্যান্য জবাব উপর String.Index।)
let prefixIndex = str.index(str.startIndex, offsetBy: 5)
let prefix = String(str.prefix(upTo: prefixIndex)) // Hello
let suffixIndex = str.index(str.endIndex, offsetBy: -6)
let suffix = String(str.suffix(from: suffixIndex)) // ground
আপনি যদি সীমা ছাড়িয়ে যাওয়ার বিরুদ্ধে রক্ষা করতে চান, আপনি limitedBy(আবার, এই উত্তরটি দেখুন ) ব্যবহার করে একটি সূচি তৈরি করতে পারেন ।
পদ্ধতি 3: সাবস্ক্রিপ্ট
যেহেতু স্ট্রিং একটি সংগ্রহ, আপনি উপসর্গ এবং প্রত্যয় পেতে সাবস্ক্রিপ্টগুলি ব্যবহার করতে পারেন।
let prefixIndex = str.index(str.startIndex, offsetBy: 5)
let prefix = String(str[..<prefixIndex]) // Hello
let suffixIndex = str.index(str.endIndex, offsetBy: -6)
let suffix = String(str[suffixIndex...]) // ground
আরও পড়া