एक स्ट्रिंग में केवल पहले n अक्षर रखें?


305

क्या स्ट्रिंग के अंत को हटाने के लिए जावास्क्रिप्ट में एक तरीका है?

मुझे केवल एक स्ट्रिंग के पहले 8 अक्षरों को रखने और बाकी को हटाने की आवश्यकता है।

जवाबों:


523

आप जावास्क्रिप्ट Stringविधि खोज रहे हैंsubstring

जैसे

'Hiya how are you'.substring(0,8);

जो पहले चरित्र पर शुरू होने वाली स्ट्रिंग और 9 वें चरित्र से पहले परिष्करण करता है - यानी 'हिया कैसे'।

दस्तावेज़ीकरण को प्रतिस्थापित करना


64

आप उपयोग कर सकते हैं String.slice:

var str = '12345678value';
var strshortened = str.slice(0,8);
alert(strshortened); //=> '12345678'

इसका उपयोग करते हुए, एक स्ट्रिंग एक्सटेंशन हो सकता है:

String.prototype.truncate = String.prototype.truncate ||
  function (n){
    return this.slice(0,n);
  };
var str = '12345678value';
alert(str.truncate(8)); //=> '12345678'

यह सभी देखें


9
+1 str.slice () आप दूसरा तर्क नकारात्मक str.substring के विपरीत, पीछे से गिनती करने के लिए करने की अनुमति देता है क्योंकि: "abcdef".slice(0, -2) == "abcd"
क्लॉड

15

सबस्ट्रिंग फ़ंक्शन का उपयोग
करें इसे देखें http://jsfiddle.net/kuc5as83/

var string = "1234567890"
var substr=string.substr(-8);
document.write(substr);

Output >> 34567890

substr(-8) पिछले 8 चार्ट रखेंगे

var substr=string.substr(8);
document.write(substr);

Output >> 90

substr(8) पिछले 2 चार्ट रखेंगे

var substr=string.substr(0, 8);
document.write(substr);

Output >> 12345678

substr(0, 8) पहले 8 वर्ण रखेंगे

इसे देखें। string.substr (प्रारंभ, लंबाई)


1
हटाएंगे या पिछले 8 चार्ट रखेंगे?
वुसँ

2

तुम कोशिश कर सकते हो:

myString.substring(0, 8);

(0,7) पहले 7 अक्षर
साकेत

हाँ, आप सही हैं, दूसरा इंडेक्स एक स्टॉप पॉइंट है और रिटर्न वैल्यू में शामिल नहीं है। फिक्स्ड।
माइक क्रिस्टेन्सन



1

आप उपयोग कर सकते हैं .substring, जो एक स्ट्रिंग की औषधि देता है:

"abcdefghijklmnopq".substring(0, 8) === "abcdefgh"; // portion from index 0 to 8
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.