কোনও স্ট্রিংয়ের শেষ দুটি অক্ষর কীভাবে নির্বাচন করবেন


193

ভেরিয়েবল থেকে আমার শেষ দুটি অক্ষর নির্বাচন করতে হবে, তা এটি অঙ্ক বা অক্ষরের হোক।

উদাহরণ স্বরূপ:

var member = "my name is Mate";

আমি memberভেরিয়েবলের স্ট্রিং থেকে শেষ দুটি অক্ষর প্রদর্শন করতে চাই ।

উত্তর:


416

আপনি একটি নেতিবাচক সূচক পাস করতে পারেন .slice()। এটি সেটটির শেষে থেকে একটি অফসেট নির্দেশ করবে।

var member = "my name is Mate";

var last2 = member.slice(-2);

alert(last2); // "te"


23

এটি ব্যবহার করে দেখুন, নোট করুন যে আপনাকে শেষ সূচকটি নির্দিষ্ট করার দরকার নেই substring

var characters = member.substr(member.length -2);

আপনার মূল উত্তর সম্ভবত আরও উপযুক্ত ছিল। এমডিএন এর substrডক্স অনুসারে , "মাইক্রোসফ্টের জেএসক্রিপ্ট শুরু সূচীর জন্য নেতিবাচক মানগুলিকে সমর্থন করে না।"

23

সম্পাদনা: 2020: string.slice(-2)অন্যরা যেমন বলছেন তেমন ব্যবহার করুন - নীচে দেখুন।

এখন ২০১ just তে কেবল string.substr(-2)কৌশলটি করা উচিত ( সাবস্ট্রিং (!) নয়)

MDN থেকে নেওয়া

বাক্য গঠন

str.substr(start[, length])

পরামিতি

শুরু

অক্ষর নিষ্কাশন শুরু করতে যেখানে অবস্থান। যদি একটি নেতিবাচক সংখ্যা দেওয়া হয়, তবে এটি strLength + start হিসাবে বিবেচিত হবে যেখানে strLength স্ট্রিংয়ের দৈর্ঘ্য (উদাহরণস্বরূপ, শুরু যদি -3 হয় তবে এটি strLength - 3.) দৈর্ঘ্যের lengthচ্ছিক হিসাবে বিবেচিত হয়। নিষ্কাশনের জন্য অক্ষরের সংখ্যা।

2020 সম্পাদনা করুন

এমডিএন ড

সতর্কতা: যদিও স্ট্রিং.প্রোটোটাইপ.সুবস্ট্র (…) কঠোরভাবে হ্রাস করা হয়নি (যেমন "ওয়েব স্ট্যান্ডার্ডগুলি থেকে সরানো হয়েছে") তবে এটি একটি উত্তরাধিকারের ফাংশন হিসাবে বিবেচিত হয় এবং সম্ভব হলে এড়ানো উচিত। এটি মূল জাভাস্ক্রিপ্ট ভাষার অংশ নয় এবং ভবিষ্যতে মুছে ফেলা হতে পারে।


1
"মাইক্রোসফ্টের জেএসক্রিপ্ট শুরু সূচকের জন্য নেতিবাচক মানগুলিকে সমর্থন করে না J জেএসক্রিপ্টে এই বৈশিষ্ট্যটি ব্যবহার করতে, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন ..." - বিকাশকারী.মোজিলা.অর্গ / মার্কিন- ডকস / ওয়েব / জাভা স্ক্রিপ্ট / রেফারেন্স/… (তবে টুকরো টুকরো করার জন্য তাদের কোনও পলিফিল নেই: ডেভেলপার.মোজিলা.আর.ইন.ইউএস / ডকস / ওয়েব / জাভা স্ক্রিপ্ট / রেফারেন্স /… )
জর্জ বীরবিলিস

নোট করুন যে জেএসক্রিপ্ট ব্রাউজারের ভিতরে নেই, এটি মূলত উইন্ডোজ স্ক্রিপ্ট হোস্ট অটোমেশনের সাথে কাজ করার জন্য একটি স্ক্রিপ্টিং ভাষা (মূলত ভিবিএসক্রিপ্টের অনুরূপ), সুতরাং এটি যুক্তিযুক্ত যে তার সময়ে এটিতে এই জাতীয় পদ্ধতি অন্তর্ভুক্ত ছিল না। নতুন উইন্ডোজ সংস্করণ পাওয়ারশেলের প্রচার করে, ক্রিপ্টিক সিনট্যাক্স। যাইহোক, মন্তব্যটি জেএসক্রিপ্টের ক্ষেত্রে সাবস্ট্রটারের চেয়ে ভাল প্রার্থী হওয়ার বিষয়ে ছিল, যেহেতু এটি নেতিবাচক সূচকগুলিকে সমর্থন করে ডকস.মাইক্রোসফট.ইন
জর্জ বীরবিলিস

9

নিম্নলিখিত উদাহরণটি slice()নেতিবাচক সূচকে ব্যবহার করে

var str = 'my name is maanu.';
console.log(str.slice(-3));     // returns 'nu.' last two
console.log(str.slice(3, -7)); // returns 'name is'
console.log(str.slice(0, -1));  // returns 'my name is maanu'


5

আপনি চেষ্টা করতে পারেন

member.substr(member.length-2);

আপনি আপনার সূচী সূচী থেকে সদস্য। দৈর্ঘ্য মিস করেছেন :)
ম্যাটিটিমো

আহ শীতল, আমি
প্রতিবিম্বিত

1
@ টিজে ক্রাউডার: অত্যন্ত নিশ্চিত যে শুরু করার পজিশন হিসাবে নেতিবাচক সূচকগুলি আইই 8 এবং নিম্নের জন্য কাজ করে না।

1
@ অ্যামনটিয়াম: আপনাকে জানার জন্য অনেক ধন্যবাদ ! আমি কেবল পরীক্ষা করেছি , এবং নিশ্চিতভাবেই, আই 7 বা আই 8 তে কাজ করেনি (এবং সম্ভবত আই 6 এ কাজ করবে না)। স্ট্যান্ডার্ড মোডে আই 99 ভাল ছিল (তবে কমপ্যাট নয়)। আমি কখনই ব্যবহার করি না substr, এবং এখন আমি আশা করি যে থ্রেডটি পেয়েছি যেখানে কিছু স্মাগ গিট আমাকে তার জন্য কঠিন সময় দিয়েছে (এবং বিশেষত নেতিবাচক সূচকগুলি ব্যবহার করছে না) - আমি এখন এটি ন্যায়সঙ্গত করতে পারি! :-)
টিজে ক্রাউডার


2

এটি করার জন্য আপনার জাস্টিগরি নয়, সাবস্ট্রিং ব্যবহার করা উচিত।

এরকম কিছু চেষ্টা করুন:

member.substring(member.length - 2, member.length)

ডাব্লু 3 স্কুল (অফিসিয়াল নয়, তবে মাঝে মধ্যে সহায়ক): http://www.w3schools.com/jsref/jsref_substring.asp

মন্তব্যকারীর অনুরোধ অনুসারে MDN লিঙ্ক যুক্ত করা হচ্ছে: https://developer.mozilla.org/en/ জাভা স্ক্রিপ্ট / রেফারেন্স / গ্লোবাল_অবজেক্টস / স্ট্রিং / সাবস্ট্রিং


3
দয়া করে কোনও অফিসিয়াল ডকুমেন্টেশনের লিঙ্কগুলি সরবরাহ করুন যেমন এমএসডিএন বা এমডিএন, ডাব্লু 3 ফুল নয় :)
জবাবে

ডাব্লু 3 স্কুলগুলি "অফিসিয়াল" নয় তবে সাধারণত নির্ভরযোগ্য তথ্য থাকে। এমএসডিএন অফিসিয়াল, তবে আইই নির্দিষ্ট এবং ফায়ারফক্স, সাফারি ইত্যাদির সাথে এর কোনও
ম্যাট

আপনি এটি পোস্ট করার সাথে সাথে মন্তব্যে লিঙ্কটি যুক্ত করেছেন
ম্যাট

1
var member = "my name is maanu";

var answer=member.substring(0,member.length - 2);

alert(answer);

1
কোডটি কী করে? এটি কী অর্জন করে তার একটি ব্যাখ্যা লিখুন।
ডিএনক্রোজ

3
ন্যায়সঙ্গত হওয়ার জন্য, কোডটি কী করা উচিত তা সম্পর্কে প্রশ্নটি খুব নির্দিষ্ট, সুতরাং একটি সারির কোডের সমন্বয়ে (সংক্ষেপে) একটি উত্তর বেশ স্ব-বর্ণনামূলক।
anaximander

1
কোড আউটপুট হবে 'অনু'। শব্দ থেকে শেষ 2 চরিত্র গ্রহণ করুন।
বিজু এস

7
আমার কাছে দেখে মনে হচ্ছে কোড আউটপুটটি হবে "আমার নাম মা" (সর্বশেষ দুটি অক্ষর বাদে সব কিছু), যা আমি প্রশ্নটি জিজ্ঞাসা করি না, যদি আমি এটি সঠিকভাবে বুঝতে পারি।
ইভিনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.