स्ट्रिंग से टेक्स्ट कैसे निकालें?


जवाबों:


1156

var ret = "data-123".replace('data-','');
console.log(ret);   //prints: 123

डॉक्स।


सभी घटनाओं के लिए उपयोग को छोड़ दिया जाना चाहिए:

var ret = "data-123".replace(/data-/g,'');

पुनश्च: प्रतिस्थापित फ़ंक्शन एक नया स्ट्रिंग लौटाता है और मूल स्ट्रिंग को अपरिवर्तित छोड़ देता है, इसलिए प्रतिस्थापन () कॉल के बाद फ़ंक्शन रिटर्न मान का उपयोग करें।


एकाधिक अभिव्यक्तियों को कैसे बदला जाए? क्या आपको कई .replace कॉल का उपयोग करना है?
Dror Bar

124

यह jQuery के साथ कुछ नहीं करना है। आप इसके लिए जावास्क्रिप्ट replaceफ़ंक्शन का उपयोग कर सकते हैं :

var str = "data-123";
str = str.replace("data-", "");

आप इस फ़ंक्शन के लिए एक रेगेक्स भी पास कर सकते हैं। निम्नलिखित उदाहरण में, यह न्यूमेरिक्स को छोड़कर सब कुछ बदल देगा:

str = str.replace(/[^0-9\.]+/g, "");

क्या आप बता सकते हैं कि रेगेक्स क्या करता है? अगर 0-9यह संकेत दिया गया था, तो मुझे यह नहीं मिलता कि यह स्ट्रिंग को क्यों बदलता है।
रोटिमी-बेस्ट

60

आप उपयोग कर सकते हैं "data-123".replace('data-','');, के रूप में उल्लेख किया है, लेकिन जैसा कि replace()केवल बदल देता है सबसे पहले की तरह मिलान पाठ का उदाहरण कुछ, यदि आपका स्ट्रिंग थी "data-123data-"तो

"data-123data-".replace('data-','');

केवल पहले मिलान वाले पाठ की जगह लेगा। और आपका आउटपुट होगा"123data-"

डेमो

इसलिए यदि आप चाहते हैं कि पाठ के सभी मिलानों को स्ट्रिंग में प्रतिस्थापित किया जाए तो आपको gध्वज के साथ एक नियमित अभिव्यक्ति का उपयोग करना होगा :

"data-123data-".replace(/data-/g,'');

और आपका आउटपुट होगा "123"

demo2


28

आप स्लाइस का उपयोग कर सकते हैं () यह शुरू से अंत के बीच चार्ट को फिर से जोड़ देता है (अंत बिंदु शामिल)

   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"

डेमो


23

सादा पुराना जावास्क्रिप्ट पर्याप्त होगा - ऐसे सरल कार्य के लिए jQuery आवश्यक नहीं है:

var myString = "data-123";
var myNewString = myString.replace("data-", "");

देखें: अतिरिक्त जानकारी और उपयोग के लिए .replace()MDN पर डॉक्स


17

उदाहरण के लिए: -

var value="Data-123";
var removeData=value.replace("Data-","");
alert(removeData);

उम्मीद है कि यह आपके लिए काम करेगा।


11

मुझे 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


9

मेरे द्वारा किए गए इस छोटे से कार्य ने हमेशा मेरे लिए काम किया :)

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!!

मुझे पता है कि यह सबसे अच्छा नहीं है, लेकिन यह हमेशा मेरे लिए काम किया है :)


आप अपने जवाब में दिखा रहे हैं कि कैसे स्ट्रिंग का कार्य कम या ज्यादा होता है, लेकिन वास्तव में स्ट्रिंग के बदले हुए फ़ंक्शन का उपयोग करना अधिक सरल और आसान कोड है तो आपका!

9
str.split('Yes').join('No'); 

यह मूल स्ट्रिंग से उस विशिष्ट स्ट्रिंग की सभी घटनाओं को प्रतिस्थापित करेगा।


8

एक चर का उपयोग match()और Number()वापस करने के लिए number:

Number(("data-123").match(/\d+$/));

// strNum = 123

यहां बताया गया है कि ऊपर दिया गया कथन ... मध्य-कार्य का कार्य कर रहा है:

  1. str.match(/\d+$/)- के अंत में किसी भी लम्बाई की संख्या से मेल खाता एक सरणी देता है str। इस स्थिति में यह एकल स्ट्रिंग आइटम वाली एक सरणी देता है ['123']
  2. Number()- इसे एक नंबर प्रकार में परिवर्तित करता है। क्योंकि जिस सरणी से लौटाया गया है, .match()उसमें एक एकल तत्व Number()नंबर लौटाएगा।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.