String.substr() मेथड (डिप्रिकेटेड)
substr() स्ट्रिंग का भाग निकालता है: शुरुआती इंडेक्स और लंबाई के आधार पर। नोट: यह मेथड डिप्रिकेटेड है (ECMAScript मानक से हटाया गया, लेकिन ब्राउज़र्स सपोर्ट करते हैं)। नए कोड में slice() या substring() उपयोग करें।
सिंटैक्स
str.substr(start, length)
- start - शुरुआती इंडेक्स (नेगेटिव = अंत से गिनती)
- length - निकालने वाले कैरेक्टर्स की संख्या (वैकल्पिक, डिफ़ॉल्ट = अंत तक)
उदाहरण
<html> <body> <p id="demo"></p> <script>
var str = "Tesla, SpaceX, Neuralink, SolarCity";
// इंडेक्स 7 से 17 कैरेक्टर्स
var result = str.substr(7, 17);
document.getElementById("demo").innerHTML = result;
</script> </body> </html>
आउटपुट
SpaceX, Neuralink
इंडेक्स विश्लेषण
T e s l a , S p a c e X , N e u r a l i n k ...
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18...
↑ ↑
start=7 length=17 (7 से 23 तक)
length पैरामीटर न होने पर
<script> var str = "Hello World"; str.substr(6); // "World" (इंडेक्स 6 से अंत तक) str.substr(-5); // "World" (अंतिम 5) str.substr(-5, 3); // "Wor" (अंतिम 5 से 3 कैरेक्टर्स) </script>
substr() vs slice() vs substring()
| विशेषता | substr() | slice() | substring() |
|---|---|---|---|
| पैरामीटर्स | (start, length) | (start, end) | (start, end) |
| नेगेटिव start | ✅ अंत से | ✅ अंत से | ❌ 0 माना जाता है |
| नेगेटिव end/length | ❌ 0 माना जाता है | ✅ अंत से | ❌ 0 माना जाता है |
| स्टेटस | ⚠️ डिप्रिकेटेड | ✅ मानक | ✅ मानक |
माइग्रेशन गाइड
<script> // substr → slice माइग्रेशन str.substr(start, length); // बराबर slice: str.slice(start, start + length); // नेगेटिव start के साथ str.substr(-3, 2); // बराबर: str.slice(-3, -1); </script>
क्यों डिप्रिकेटेड?
- इनकंसिस्टेंट व्यवहार (नेगेटिव length हैंडलिंग)
slice()अधिक सहज और शक्तिशाली- वेब कम्पैटिबिलिटी के लिए ब्राउज़र्स सपोर्ट करते रहेंगे