मुझे एक data-123
तार मिला है ।
कैसे data-
छोड़ते समय मैं स्ट्रिंग से निकाल सकता हूं 123
?
मुझे एक data-123
तार मिला है ।
कैसे data-
छोड़ते समय मैं स्ट्रिंग से निकाल सकता हूं 123
?
जवाबों:
var ret = "data-123".replace('data-','');
console.log(ret); //prints: 123
सभी घटनाओं के लिए उपयोग को छोड़ दिया जाना चाहिए:
var ret = "data-123".replace(/data-/g,'');
पुनश्च: प्रतिस्थापित फ़ंक्शन एक नया स्ट्रिंग लौटाता है और मूल स्ट्रिंग को अपरिवर्तित छोड़ देता है, इसलिए प्रतिस्थापन () कॉल के बाद फ़ंक्शन रिटर्न मान का उपयोग करें।
यह jQuery के साथ कुछ नहीं करना है। आप इसके लिए जावास्क्रिप्ट replace
फ़ंक्शन का उपयोग कर सकते हैं :
var str = "data-123";
str = str.replace("data-", "");
आप इस फ़ंक्शन के लिए एक रेगेक्स भी पास कर सकते हैं। निम्नलिखित उदाहरण में, यह न्यूमेरिक्स को छोड़कर सब कुछ बदल देगा:
str = str.replace(/[^0-9\.]+/g, "");
0-9
यह संकेत दिया गया था, तो मुझे यह नहीं मिलता कि यह स्ट्रिंग को क्यों बदलता है।
आप उपयोग कर सकते हैं "data-123".replace('data-','');
, के रूप में उल्लेख किया है, लेकिन जैसा कि replace()
केवल बदल देता है सबसे पहले की तरह मिलान पाठ का उदाहरण कुछ, यदि आपका स्ट्रिंग थी "data-123data-"
तो
"data-123data-".replace('data-','');
केवल पहले मिलान वाले पाठ की जगह लेगा। और आपका आउटपुट होगा"123data-"
इसलिए यदि आप चाहते हैं कि पाठ के सभी मिलानों को स्ट्रिंग में प्रतिस्थापित किया जाए तो आपको g
ध्वज के साथ एक नियमित अभिव्यक्ति का उपयोग करना होगा :
"data-123data-".replace(/data-/g,'');
और आपका आउटपुट होगा "123"
आप स्लाइस का उपयोग कर सकते हैं () यह शुरू से अंत के बीच चार्ट को फिर से जोड़ देता है (अंत बिंदु शामिल)
string.slice(start , end);
यहाँ यह दिखाने के लिए कुछ exmp है कि यह कैसे काम करता है:
var mystr = ("data-123").slice(5); // jast define start point so output is "123"
var mystr = ("data-123").slice(5,7); // define start and end so output is "12"
var mystr=(",246").slice(1); // returens "246"
सादा पुराना जावास्क्रिप्ट पर्याप्त होगा - ऐसे सरल कार्य के लिए jQuery आवश्यक नहीं है:
var myString = "data-123";
var myNewString = myString.replace("data-", "");
देखें: अतिरिक्त जानकारी और उपयोग के लिए .replace()
MDN पर डॉक्स ।
उदाहरण के लिए: -
var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);
उम्मीद है कि यह आपके लिए काम करेगा।
मुझे C # (शार्प) String.Remove मेथड का इस्तेमाल किया गया था। जावास्क्रिप्ट में, स्ट्रिंग के लिए कोई फ़ंक्शन नहीं है, लेकिन रूट फ़ंक्शन है। स्ट्रिंग से वर्णों को निकालने के लिए आप एक या दो बार रूट फ़ंक्शन का उपयोग कर सकते हैं। आप निम्न अनुक्रमणिका को स्ट्रिंग के अंत में प्रारंभ इंडेक्स पर वर्णों को हटाने के लिए बना सकते हैं, जैसे कि c # विधि पहले अधिभार String.Remove (int startIndex):
function Remove(str, startIndex) {
return str.substr(0, startIndex);
}
और / या आप प्रारंभ इंडेक्स और काउंट पर वर्णों को हटाने के लिए निम्नलिखित कार्य कर सकते हैं, ठीक उसी तरह जैसे कि c # विधि दूसरा अधिभार String.Remove (int startIndex, int count):
function Remove(str, startIndex, count) {
return str.substr(0, startIndex) + str.substr(startIndex + count);
}
और फिर आप अपनी आवश्यकताओं के लिए इन दो कार्यों या उनमें से एक का उपयोग कर सकते हैं!
उदाहरण:
alert(Remove("data-123", 0, 5));
आउटपुट: 123
मेरे द्वारा किए गए इस छोटे से कार्य ने हमेशा मेरे लिए काम किया :)
String.prototype.deleteWord = function (searchTerm) {
var str = this;
var n = str.search(searchTerm);
while (str.search(searchTerm) > -1) {
n = str.search(searchTerm);
str = str.substring(0, n) + str.substring(n + searchTerm.length, str.length);
}
return str;
}
// Use it like this:
var string = "text is the the cool!!";
string.deleteWord('the'); // Returns text is cool!!
मुझे पता है कि यह सबसे अच्छा नहीं है, लेकिन यह हमेशा मेरे लिए काम किया है :)
एक चर का उपयोग match()
और Number()
वापस करने के लिए number
:
Number(("data-123").match(/\d+$/));
// strNum = 123
यहां बताया गया है कि ऊपर दिया गया कथन ... मध्य-कार्य का कार्य कर रहा है:
str.match(/\d+$/)
- के अंत में किसी भी लम्बाई की संख्या से मेल खाता एक सरणी देता है str
। इस स्थिति में यह एकल स्ट्रिंग आइटम वाली एक सरणी देता है ['123']
।Number()
- इसे एक नंबर प्रकार में परिवर्तित करता है। क्योंकि जिस सरणी से लौटाया गया है, .match()
उसमें एक एकल तत्व Number()
नंबर लौटाएगा।