2010-12-28 19 views

उत्तर

33

वे विभिन्न हस्ताक्षर है, .slice() है:

string.slice(beginIndex, endIndex) 

.substr() जबकि है:

string.substr(beginIndex, length); 

इसलिए उदाहरण के लिए, अगर हम "1234" है और "23" चाहता था, यह होगा:

"1234".slice(1,3) 
//or... 
"1234".substr(1,2) 

उनके पास भी भिन्नता है अधिक दुर्लभ रूप से उपयोग किए जाने वाले नकारात्मक इंडेक्स के लिए एंट व्यवहार, पूर्ण विवरण के लिए .slice() और .substr() के लिए एमडीसी दस्तावेज़ देखें।

+2

ध्यान दें कि "सबस्ट्र" विधि ईसीएमएस्क्रिप्ट मानक का हिस्सा नहीं है और विभिन्न ब्राउज़रों में असंगत परिणाम भी दे सकती है। यहां अच्छा सारांश दिया गया है: http://www.jacklmoore.com/notes/substring-substr-slice-javascript/ –

5
  1. String.slice(begin, end)

    इस विधि begin से end चार, उदा .: लिए पाठ कट जाएगा

    alert("Hello World!".slice(1, 8)); // ello Wo 
    
  2. String.substr(begin, length)

    इस विधि begin से begin + length के लिए पाठ कट जाएगा चार, उदाहरण:

    alert("Hello World!".substr(1, 8)); // ello Wor 
    
2
var str="Hello world!"; 
document.write(str.substring(3,7)+"<br />"); 
document.write(str.slice(3,7)+"<br />"); 
document.write(str.substr(3,7)); 

परिणाम:

lo w 
lo w 
lo worl 
0

मुझे लगता है कि str.slice() और str.substr() के बीच का अंतर दूसरा पैरामीटर है:

.slice().substr() में के रूप में लंबाई लेता है समय लगता है ENDINDEX:

.slice(StartIndex,EndIndex) और .substr(StartIndex,length).

1

सबस्ट्रिंग()

1. यदि शुरू रोक के बराबर होती है, इसे रिक्त स्ट्रिंग देता है। 2. अगर स्टॉप छोड़ा जाता है, तो यह स्ट्रिंग के अंत तक वर्ण निकालता है। 3. अगर शुरू करें> रोकें, तो सबस्ट्रिंग उन 2 तर्कों को स्वैप कर देगा। 4. यदि तर्क स्ट्रिंग की लंबाई से अधिक है, तो तर्क स्ट्रिंग की लंबाई का उपयोग करेगा। या तो तर्क 5. यदि 0 कम से कम इसे रिक्त स्ट्रिंग देता है, वास्तव में सबस्ट्रिंग की तरह है या NaN है, यह व्यवहार किया जाता है जैसे कि वह थे 0.

टुकड़ा()

1. यदि शुरू रोक के बराबर होती है,()। 2. अगर स्टॉप छोड़ा जाता है, तो स्लाइस के अंत तक स्लाइस निष्कर्ष निकालें, बिल्कुल substring() की तरह। 3. अगर शुरू करें> रोकें, टुकड़ा() 2 तर्कों को स्वैप नहीं करेगा। 4।यदि तर्क स्ट्रिंग की लंबाई से अधिक है, तो तर्क स्ट्रिंग की लंबाई का उपयोग करेगा, बिल्कुल substring() की तरह।

संबंधित मुद्दे