web-dev-qa-db-fra.com

Comment obtenir le premier caractère de chaîne?

J'ai une ficelle et j'ai besoin de son premier caractère.

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

Comment puis-je réparer mon code?

497
Simon

Ce que vous voulez, c'est charAt .

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

En JavaScript, vous pouvez faire ceci:

alert(x.substring(0,1));
128
Dustin Laine

Vous pouvez utiliser n'importe lequel de ceux-ci.

Il y a une petite différence entre tous ceux-ciPour être prudent lors de son utilisation dans une instruction conditionnelle.

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
40
Shailesh Sonare

xsubstring (0,1)

24
ŁukaszW.pl
var x = "somestring"
alert(x.charAt(0));

La méthode charAt () vous permet de spécifier la position du caractère souhaité.

Ce que vous essayiez de faire, c'est d'obtenir le caractère à la position d'un tableau "x", qui n'est pas défini car X n'est pas un tableau.

15
Eton B.

Vous pouvez même utiliser slice pour couper tous les autres caractères:

x.slice(0, 1);
14
yckart

Exemple de toute méthode

Premier : string.charAt(index)

Retourne le caract à l'index index

var str = "Stack overflow";

console.time("charat");

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

console.timeEnd("charat");

Deuxième : string.substring(start,length);

Retourne la sous-chaîne de la chaîne qui commence à l'index start et s'arrête après la longueur length

Ici, vous ne voulez que le premier caract so: start = 0 et length = 1

var str = "Stack overflow";

console.time("substring");

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

console.timeEnd("substring");

Alternative : string[index]

Une chaîne est un tableau de caract. Ainsi, vous pouvez obtenir le premier caractère comme la première cellule d'un tableau.

Retourne le caract à l'index index de la chaîne

var str = "Stack overflow";

console.time("array");

console.log(str[0]);

console.timeEnd("array");

10
Alexis

Essayez ceci aussi:

x.substr(0, 1);
6
AmazingDayToday
var str="stack overflow";

firstChar  = str.charAt(0);

secondChar = str.charAt(1);

Testé dans IE6 + ,FF, Chrome , safari .

5
Swathi

Méthode simple serait

const z ="sdsdsd"

console.log(z[0])    // 's'

et utiliser des polyfills

0
Snivio

dans Nodejs, vous pouvez utiliser Buffer:

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
Sylvain Joly

dans JQuery, vous pouvez utiliser: en classe pour l'option de sélection:

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

en classe pour le texte Valeur:

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

en ID pour le texte Valeur:

$("#id").val().substr(1)
0
Amranur Rahman