কিভাবে একটি স্ট্রিং এর শেষ চরিত্র পেতে?


526

স্ট্রিংয়ের শেষ চরিত্রটি কীভাবে পাবেন:

"linto.yahoo.com."

এই স্ট্রিংয়ের শেষ চরিত্রটি "."

আমি এটি কীভাবে খুঁজে পাব?


আপনি এই উত্তরটি গ্রহণ করতে পারেন , যেহেতু এটি সর্বোত্তম এবং এটি প্রথমে প্রদর্শিত হবে।
শার্কু

উত্তর:


995

একটি মার্জিত এবং সংক্ষিপ্ত বিকল্প, হয় String.prototype.slice পদ্ধতি।

শুধু দ্বারা:

str.slice(-1);

একটি নেতিবাচক শুরুর সূচকটি সর্বশেষ অক্ষরটি নিষ্কাশিত থেকে সূচক length+indexহতে স্ট্রিংকে টুকরো টুকরো করে ফেলে :length-1

"abc".slice(-1); // "c";

9
পার্শ্ব দ্রষ্টব্য: অ্যারেগুলির একটি slice()পদ্ধতিও রয়েছে। - তাদের কার্যকারিতা ধারণামূলকভাবে অনুরূপ (আংশিক অনুলিপিগুলি) -------- (কেবল আপনি কোডটি পড়ছেন এবং দেখুন .slice())
পিটার আজতাই

1
"ইউটিএফ -8 স্ট্রিং" বলতে কী বোঝ? শব্দগুচ্ছটি কোনও অর্থবোধ করে না। যদিও এফডব্লিউআইডাব্লু, জাভাস্ক্রিপ্টের স্ট্রিংগুলি মজাদার প্রাণীরাই: এগুলি স্বাক্ষরবিহীন 16-বিট পূর্ণসংখ্যার মানগুলির ক্রম। যদি আপনার স্ট্রিংয়ের অভিপ্রায় অক্ষরগুলি সংরক্ষণ করা হয় তবে উপরের কোডটি সর্বশেষ 16-বিট মান প্রদান করে, যা কোনও সারোগেট জুটির দ্বিতীয় অংশ হলে এটি চমত্কার হবে না। তবে আবার, আপনি "ইউটিএফ -8 স্ট্রিং" বলতে আসলে কী বোঝায়? ইউটিএফ -8 হ'ল একটি এনকোডিং স্কিম যা আপনার বাইট অ্যারে থাকলে তা বোধগম্য হতে পারে তবে স্ট্রিংয়ের ক্ষেত্রে কিছুতেই কিছু বোঝায় না। উৎসুক.
রায় তোয়াল

4
নিম্নচোটিত কারণ এটি প্রশ্নের উত্তর দেয় না। এটি ধরে নিয়েছে যে ব্যবহারকারী কেবল চরিত্রটি সরাতে চায় তবে আপনি যদি শেষ চরিত্রটি ধারণ করতে এবং এটির উপর ভিত্তি করে প্রতিক্রিয়া জানাতে চান তবে কী হবে? Str.charAt () উত্তরগুলি সঠিক।
গ্রেগটকাজাপ

6
@Egg, মনে হচ্ছে যে তুমি আমার উদাহরণস্বরূপ চেষ্টা না, str.slice(-1)প্রকৃতপক্ষে স্ট্রিং এর শেষ অক্ষর পাবেন না (ওপি যেমন প্রয়োজন), যেমনটা আপনি ব্যবহার str.charAt(str.length - 1), দেখুন: "abc".slice(-1)। আমি এখানে String.prototype.sliceএকটি নেতিবাচক সূচক সহ একটি ব্যবহার দেখাচ্ছে । নতুন স্ট্রিংয়ের মান হিসাবে মূল স্ট্রিংয়ের str.slice(-n)শেষ nঅক্ষরগুলি পাবেন । আরও তথ্য: বিকাশকারী.মোজিলা.আর.ইন-
সিএমএস

9
@ সিএমএস আপনি ঠিক বলেছেন, আপনার পদ্ধতিটি আসলে স্ট্রিমের ছাঁটা ছাড়াই শেষ চরটি ধরবে। দুর্দান্ত মার্জিত পদ্ধতিও। কিছু কারণে আমি ভাবছিলাম যে এটি সেই চরগুলি ছাঁটাই করতে এবং ছাঁটা স্ট্রিংটি ফিরে আসবে। সে সম্পর্কে দুঃখিত, আমি প্রথমে চেষ্টা না করার জন্য নিজেকে বোকা মনে হচ্ছে।
গ্রেগটজাজাপ

97

ব্যবহার charAt:

CharAt () পদ্ধতিটি একটি স্ট্রিংয়ে নির্দিষ্ট সূচীতে অক্ষরটি প্রদান করে।

lengthস্ট্রিংয়ের শেষ চরিত্রটি পেতে আপনি একটি স্ট্রিংয়ের বৈশিষ্ট্যের সাথে এই পদ্ধতিটি ব্যবহার করতে পারেন ।
উদাহরণ স্বরূপ:

const myString = "linto.yahoo.com.";
const stringLength = myString.length; // this will be 16
console.log('lastChar: ', myString.charAt(stringLength - 1)); // this will be the string



50

আপনি বিভিন্ন উপায়ে ব্যবহার করতে পারবেন তবে বিভিন্ন কার্যকারিতা সহ,

1. বন্ধনী স্বরলিপি ব্যবহার:

var str = "Test"; var lastLetter = str[str.length - 1];

তবে এটি বন্ধনী ব্যবহার করার পরামর্শ দেওয়া হয় না। কারণগুলি এখানে পরীক্ষা করুন

2. চরআউট [সূচক]:

var lastLetter = str.charAt(str.length - 1)

এটি অন্যদের মধ্যে পাঠযোগ্য এবং দ্রুত। এটি সবচেয়ে প্রস্তাবিত উপায়।

3. সাবস্ট্রিং:

str.substring(str.length - 1);

4. স্লাইস:

str.slice(-1);

এটি সাবস্ট্রিংয়ের চেয়ে কিছুটা দ্রুত।

আপনি এখানে কর্মক্ষমতা পরীক্ষা করতে পারেন

ES6 সহ:

তুমি ব্যবহার করতে পার str.endsWith("t");

তবে এটি IE তে সমর্থিত নয়। শেষ সম্পর্কে আরও বিশদ এখানে পরীক্ষা করুন


2
বর্তমান মেশিনগুলিতে কর্ম সঞ্চালন করার দরকার নেই। সবচেয়ে সংক্ষিপ্ত সমাধানটি ব্যবহার করুন। আমার ভোট চালু আছেstr.slice(-1);
তুষারপাত

1
আমি নিশ্চিত না যে endsWithএখানে কীভাবে ফিট হয়, এটি সম্পূর্ণ ভিন্ন কিছু করে।
জন মন্টগোমেরি

38

প্যারামিটার -1 সহ সাবস্ট্রটার ব্যবহার করুন :

"Linto.yahoo.com।" Substr (-1)।

সমান "।"

বিঃদ্রঃ:

স্ট্রিংয়ের শেষে থেকে অক্ষরগুলি বের করতে, নেতিবাচক শুরুর নম্বরটি ব্যবহার করুন (এটি IE 8 এবং এর আগেরটিতে কাজ করে না)।


3
মনে হচ্ছে এটির মতো স্লাইস () এর চেয়ে খাটো, আমি আশ্চর্য হয়েছি যেটি আরও ভাল এবং দ্রুত।
স্ট্রামিন

12

এটি করার একটি সহজ উপায় এটি ব্যবহার করে :)

var word = "waffle"
word.endsWith("e")

1
দুর্দান্ত এবং সহজ +1
জুলিয়ান

1
ES6- এ সত্যিই ভাল সংযোজন তবে এটি IE তে কাজ করে না যদি আপনাকে এটি সমর্থন করতে হয় তবে এটি পলিফিলড হতে পারে ।
সানসানজ

আমি দেখতে পাচ্ছি না কীভাবে এটি প্রশ্নের উত্তর দেয়, কোনও স্ট্রিংয়ের শেষ চরিত্রটি পাওয়া কোনও নির্দিষ্ট চরিত্রের সাথে মেলে কিনা তা যাচাই করা থেকে সম্পূর্ণ আলাদা।
জন মন্টগোমেরি


4

প্রদত্ত 0-সূচক অবস্থানে একটি অক্ষর পেতে জাভাস্ক্রিপ্ট চারআউট ফাংশনটি ব্যবহার করুন । স্ট্রিংটি কত দীর্ঘ তা খুঁজে পেতে দৈর্ঘ্যটি ব্যবহার করুন । আপনি শেষ অক্ষরটি চান তাই দৈর্ঘ্য - ১. উদাহরণ:

var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);

4
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];

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

0

আপনি এই সহজ ES6 পদ্ধতিটি ব্যবহার করতে পারেন

const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];


// example
console.log(lastChar("linto.yahoo.com."));

এটি প্রতিটি ব্রাউজারে কাজ করবে।


0

আপনি নিম্নলিখিত ব্যবহার করতে পারেন। শেষ চরিত্রের ক্ষেত্রে এটি একটি ওভারকিল কিন্তু একটি স্ট্রিংয়ের জন্য, এটি দরকারী:

var word = "linto.yahoo.com.";
var last = ".com.";
if (word.substr(-(last.length)) == last)
alert("its a match");

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