मेरे पास है
var id="ctl03_Tabs1";
जावास्क्रिप्ट का उपयोग करते हुए, मुझे अंतिम पांच वर्ण या अंतिम चरित्र कैसे मिल सकता है?
मेरे पास है
var id="ctl03_Tabs1";
जावास्क्रिप्ट का उपयोग करते हुए, मुझे अंतिम पांच वर्ण या अंतिम चरित्र कैसे मिल सकता है?
जवाबों:
संपादित करें: जैसा कि दूसरों ने बताया है, slice(-5)
इसके बजाय उपयोग करें substr
। हालाँकि, .split().pop()
दूसरे दृष्टिकोण के लिए इस उत्तर के निचले भाग पर समाधान देखें ।
मूल उत्तर:
आप संपत्ति के .substr()
साथ संयुक्त जावास्क्रिप्ट स्ट्रिंग विधि का उपयोग करना चाहते .length
हैं।
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
यह id.length - 5 से शुरू होने वाले वर्णों को प्राप्त होता है और चूंकि .substr () छोड़ा गया दूसरा तर्क, स्ट्रिंग के अंत तक जारी रहता है।
आप इस .slice()
विधि का उपयोग भी कर सकते हैं क्योंकि अन्य ने नीचे बताया है।
यदि आप केवल अंडरस्कोर के बाद वर्ण ढूंढना चाहते हैं, तो आप इसका उपयोग कर सकते हैं:
var tabId = id.split("_").pop(); // => "Tabs1"
यह स्ट्रिंग को अंडरस्कोर पर एक ऐरे में विभाजित करता है और फिर एरे से अंतिम तत्व को "पॉप" करता है (जो स्ट्रिंग को आप चाहते हैं)।
.split().pop()
अभी भी प्रति सेकंड 5 मिलियन ऑपरेशन हैं। यह एक प्रदर्शन समस्या नहीं है जब तक कि यह एक प्रदर्शन समस्या नहीं है। ;)
slice
इस बात का उल्लेख करने के लिए संपादित किया है कि इस बिंदु पर एक बेहतर विकल्प है।
slice
या substr
एक संख्या (पूर्णांक) पर, पहली स्ट्रिंग के लिए परिवर्तित। जैसेmyVar.toString().slice(-5)
उपयोग न करें .substr()
। .slice()
इसके बजाय विधि का उपयोग करें क्योंकि यह क्रॉस ब्राउज़र संगत है (देखें IE)।
const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1
slice()
संदर्भ: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
_Tabs15
? टुकड़ा (-5) केवल हड़पने होगा abs15
? विभाजन / पॉप विभिन्न लंबाई के लिए बेहतर काम करता है ...
आप अंतिम n वर्णों को पुनर्प्राप्त करने के लिए एक नकारात्मक प्रारंभिक स्थिति के साथ रूट () विधि का उपयोग कर सकते हैं । उदाहरण के लिए, यह अंतिम 5 मिलता है:
var lastFiveChars = id.substr(-5);
अंतिम चरित्र प्राप्त करना आसान है, क्योंकि आप स्ट्रिंग्स को एक सरणी के रूप में मान सकते हैं:
var lastChar = id[id.length - 1];
एक तार का एक खंड के लिए, आप उपयोग कर सकते हैं substr समारोह या सबस्ट्रिंग समारोह:
id.substr(id.length - 1); //get the last character
id.substr(2); //get the characters from the 3rd character on
id.substr(2, 1); //get the 3rd character
id.substr(2, 2); //get the 3rd and 4th characters
के बीच का अंतर substr
और substring
कैसे दूसरे (वैकल्पिक) पैरामीटर व्यवहार किया जाता है है। इसमें substr
, यह सूचकांक से वर्णों की मात्रा है (पहला पैरामीटर)। इसमें substring
, यह सूचकांक है कि चरित्र का टुकड़ा कहाँ समाप्त होना चाहिए।
निम्नलिखित स्क्रिप्ट जावास्क्रिप्ट का उपयोग करके एक स्ट्रिंग में अंतिम 5 वर्ण और अंतिम 1 वर्ण प्राप्त करने के लिए परिणाम दिखाता है:
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
आउटपुट:
Tabs1 // 5 वर्ण मिले
1 // 1 पात्र मिला
Substr फ़ंक्शन आपको अंतिम वर्ण प्राप्त करने के लिए माइनस का उपयोग करने की अनुमति देता है।
var string = "hello";
var last = string.substr(-1);
यह बहुत लचीला है। उदाहरण के लिए:
// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
यदि आप केवल अंतिम चरित्र या किसी भी चरित्र को जानना चाहते हैं, तो आप एक स्ट्रिंग के रूप में स्ट्रिंग को ट्रेट कर सकते हैं! - जावास्क्रिप्ट में स्ट्रिंग्स इटरेटेबल हैं -
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
फिर भी यदि आपको सिर्फ एक चरित्र की आवश्यकता है तो स्प्लिस का उपयोग प्रभावी है
x.slice(-5); //world
अपने उदाहरण के बारे में
"rating_element-<?php echo $id?>"
Id निकालने के लिए आप आसानी से विभाजन + पॉप का उपयोग कर सकते हैं
Id= inputId.split('rating_element-')[1];
यदि कोई आईडी 'Rating_element' के बाद नहीं थी, तो यह id, या अपरिभाषित वापस कर देगी :)
यह मानते हुए कि आप किसी अन्य स्ट्रिंग के अंत के खिलाफ सबस्ट्रिंग की तुलना करेंगे और एक बूलियन के रूप में परिणाम का उपयोग करेंगे ताकि आप इसे पूरा करने के लिए स्ट्रिंग वर्ग का विस्तार कर सकें:
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
आपको निम्न कार्य करने की अनुमति देना:
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
मुझे यह सवाल मिला और कुछ शोधों के माध्यम से मैंने इसे अंतिम चरित्र प्राप्त करने का सबसे आसान तरीका पाया।
जैसा कि दूसरों ने अंतिम 5 प्राप्त करने के लिए पूर्णता का उल्लेख किया है और जोड़ा है:
var last5 = id.substr(-5);
यदि यह स्ट्रिंग में अंतिम वर्ण है तो यह कॉमा को हटा देगा।
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
मुझे वास्तव में निम्नलिखित समस्या है और मैंने इसे उपरोक्त उत्तर की मदद से हल किया है, लेकिन आईडी निकालने में भिन्न दृष्टिकोण एक इनपुट तत्व बनाता है।
मैंने संलग्न इनपुट ए के साथ दायर किया है
id="rating_element-<?php echo $id?>"
और, जब उस बटन पर क्लिक किया जाता है, तो मैं केवल आईडी (जो संख्या है) या php आईडी ($ id) निकालना चाहता हूं ।
तो यहाँ मैं क्या करूँ।
$('.rating').on('rating.change', function() {
alert($(this).val());
// console.log(this.id);
var static_id_text=("rating_element-").length;
var product_id = this.id.slice(static_id_text); //get the length in order to deduct from the whole string
console.log(product_id );//outputs the last id appended
});
अंतिम 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
अंतिम
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
charAt
के लिए substr
। वह पाँचवाँ-अन्तिमcharAt
हो जाता है ।