स्ट्रिंग का पहला चरित्र कैसे प्राप्त करें?


595

मेरे पास एक स्ट्रिंग है, और मुझे इसका पहला चरित्र प्राप्त करने की आवश्यकता है।

var x = 'somestring';
alert(x[0]); //in ie7 returns undefined

मैं अपना कोड कैसे ठीक कर सकता हूं?


5
बस सावधान रहें - आपके पास निकालने के लिए एक चरित्र नहीं हो सकता है!
corsiKa

जवाबों:


1045

आप जो चाहते हैं charAt

var x = 'some string';
alert(x.charAt(0)); // alerts 's'

11
IE7, क्रोम, फ़ायरफ़ॉक्स पर काम किया।
यूरी फकटोरोविच

78
बस यहां एमडीएन डॉक छोड़ना चाहता था । मैं आमतौर पर इस w3schools पर पसंद करते हैं।
danwit

12
x.charAt()पहला वर्ण भी लौटाएगा जैसे कि कोई भी अनुक्रमणिका इस पद्धति से पारित नहीं हुई है, यह इसे मान लेगा 0
मोहम्मद उस्मान

1
@MohammadUsman जबकि आप जो कहते हैं वह सच है, दुर्भाग्य से charAt () बिना किसी पैरामीटर के वास्तव में फ़ायरफ़ॉक्स 71 के रूप में फ़ायरफ़ॉक्स 71 में चार्टएटी (0) की तुलना में लगभग 10x धीमा चलता है। अपने आप को यहां देखें: jsperf.com/testing-the-first-character- इन-ए-स्ट्रिंग / 1
स्टीफन एम इरविंग

यह समाधान ASCII के लिए अच्छा है, लेकिन जैसे ही आप इससे अधिक के साथ सौदा करेंगे, यह सभी तरह से टूट जाएगा। "👍".charAt(0)रिटर्न "\ud83d", "café".charAt(3)रिटर्न eऔर एक्सेंट को ड्राप करता है, आदि stackoverflow.com/questions/38345372/… कुछ जानकारी और एक अच्छा विकल्प है (एक पुस्तकालय का उपयोग करें)
क्लेमेंट

149

जावास्क्रिप्ट में आप यह कर सकते हैं:

const x = 'some string';
console.log(x.substring(0, 1));


5
यदि उप-स्ट्रिंग फ़िक्सेस का उपयोग करना पसंद करते हैं, तो x.slice(0,1)कम है। और अंतिम चार बस का उपयोग करने के लिए:x.slice(-1)
S.Serpooshan

60

आप इनमें से किसी का भी उपयोग कर सकते हैं।

इन सभी के बीच थोड़ा अंतर है इसलिए सशर्त विवरण में इसका उपयोग करते समय सावधान रहें।

var string = "hello world";
console.log(string.slice(0,1));     //o/p:- h
console.log(string.charAt(0));      //o/p:- h
console.log(string.substring(0,1)); //o/p:- h
console.log(string.substr(0,1));    //o/p:- h
console.log(string[0]);             //o/p:- h


var string = "";
console.log(string.slice(0,1));     //o/p:- (an empty string)
console.log(string.charAt(0));      //o/p:- (an empty string)
console.log(string.substring(0,1)); //o/p:- (an empty string)
console.log(string.substr(0,1));    //o/p:- (an empty string)
console.log(string[0]);             //o/p:- undefined

3
लापता स्ट्रिंग.सुब्रस्ट (0,1); :)
लकीलोके


18

सभी विधि का उदाहरण

पहला :string.charAt(index)

इंडेक्स पर कैक्टैक्ट वापस करें index

var str = "Stack overflow";

console.log(str.charAt(0));

दूसरा :string.substring(start,length);

स्ट्रिंग में सब्रिंग लौटें जो सूचकांक में शुरू होती हैं startऔर लंबाई के बाद बंद हो जाती हैंlength

यहां आप केवल पहली कारैक्ट चाहते हैं: start = 0औरlength = 1

var str = "Stack overflow";

console.log(str.substring(0,1));

वैकल्पिक :string[index]

एक स्ट्रिंग कारैक्ट की एक सरणी है। तो आप एक सरणी के पहले सेल की तरह पहली कारैक्ट प्राप्त कर सकते हैं।

indexस्ट्रिंग के सूचकांक पर कारैक्ट लौटें

var str = "Stack overflow";

console.log(str[0]);


कंसोल.टाइम () का उपयोग करके एक एकल ऑपरेशन का समय प्रदर्शन का एक उचित या सटीक परीक्षण नहीं है। जब आप केवल एक बार ऑपरेशन करते हैं तो COURSE में कोई बड़ा अंतर नहीं होता है। ये तरीके वास्तव में अलग तरह से प्रदर्शन करते हैं।
स्टीफन एम इरविंग

17
var x = "somestring"
alert(x.charAt(0));

CharAt () विधि आपको इच्छित चरित्र की स्थिति निर्दिष्ट करने की अनुमति देती है।

आप जो करने की कोशिश कर रहे थे वह चरित्र "एक्स" की स्थिति में है, जिसे एक्स परिभाषित नहीं किया गया है।


15

आप sliceअन्य सभी वर्णों को काटने के लिए भी उपयोग कर सकते हैं :

x.slice(0, 1);

यह विधि इसे हल करने के कम से कम प्रदर्शन करने वाले तरीकों में से एक होगी। उप इष्टतम।
स्टीफन एम इरविंग

7
var str="stack overflow";

firstChar  = str.charAt(0);

secondChar = str.charAt(1);

IE6 + , FF , क्रोम , सफारी में परीक्षण किया गया ।


12
बस जिज्ञासु, वहाँ एक कारण आप इस जवाब पोस्ट किया है? यह स्वीकृत उत्तर की नकल प्रतीत होता है।
मानथरीन

5
उन्होंने कुछ अतिरिक्त जानकारी दी (भले ही यह एक टिप्पणी होनी चाहिए थी) ... जैसे ब्राउज़रों में इसका परीक्षण किया गया था। मुझे पता indexOfहै कि IE8 में काम नहीं करता है और यह मेरे लिए महत्वपूर्ण है। मैंने वास्तव में Google charAt संगतता शुरू कर दी, जब तक कि मैंने इस उत्तर को यहां नहीं देखा।
ग्लॉब। पेंग्विन

6

इसे भी आजमाएँ:

x.substr(0, 1);

पदार्थ () को एक विरासत कार्य माना जाता है और यदि संभव हो तो इसे टाला जाना चाहिए। यह वास्तव में जेएस भाषा का हिस्सा नहीं है और इसे किसी भी समय हटाया जा सकता है। सभी नए कोड में रूट () का उपयोग करने से दूर रहें और पुराने कोड को अन्य तरीकों का उपयोग करने के लिए फिर से भरना चाहिए। developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
स्टीफन एम इरविंग

2

x.substring(0,1)

विवरण

substring(start, end) 2 सूचक "प्रारंभ" और "अंत" के बीच, एक स्ट्रिंग से वर्णों को निकालता है, कि "अंत" सहित।

विशेष टिप्पणीया

  • यदि "प्रारंभ" "अंत" से अधिक है, तो यह विधि दो तर्कों को स्वैप करेगी, जिसका अर्थ है str.substring (1, 4) == str.substring (4, 1)।
  • यदि या तो "प्रारंभ" या "अंत" 0 से कम है, तो इसे माना जाता है जैसे कि यह 0 था।

2

ऐसा लगता है कि मुझे पार्टी में देर हो रही है, लेकिन नीचे दिए गए समाधान की कोशिश करें जो मुझे व्यक्तिगत रूप से सबसे अच्छा समाधान मिला:

var x = "testing sub string"
alert(x[0]);
alert(x[1]);

आउटपुट को निम्न मानों के साथ सतर्क दिखाना चाहिए: "t" "e"


0

JQuery में आप उपयोग कर सकते हैं: चयन विकल्प के लिए कक्षा में:

$('.className').each(function(){
    className.push($("option:selected",this).val().substr(1));
});

पाठ मान के लिए कक्षा में:

$('.className').each(function(){
    className.push($(this).val().substr(1));
});

पाठ मान के लिए आईडी में:

$("#id").val().substr(1)

0

Nodejs में आप बफर का उपयोग कर सकते हैं:

let str = "hello world"
let buffer = Buffer.alloc(2, str) // replace 2 by 1 for the first char
console.log(buffer.toString('utf-8')) // display he
console.log(buffer.toString('utf-8').length) // display 2

0
var string  = "Hello World";
console.log(charAt(0));

CharAt (0) जावास्क्रिप्ट विधि है, यह सूचकांक के आधार पर मान लौटाएगा, यहाँ 0 पहले अक्षर के लिए सूचकांक है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.