如何获取字符串的第一个字符?

我有一个字符串,我需要得到它的第一个字符。

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

如何修复我的代码?

954559 次浏览

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

charAt可以为Unicode给出错误的结果。使用Array.from

Array.from('some string')[0];

在JavaScript中,你可以这样做:

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

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

charAt()方法允许您指定所需字符的位置。

您要做的是在数组“x”的位置获取字符,该数组未定义为X不是数组。

var str="stack overflow";


firstChar  = str.charAt(0);


secondChar = str.charAt(1);

IE6+FFChromeSafari中测试。

您甚至可以使用slice来截断所有其他字符:

x.slice(0, 1);

你可以使用任何这些。

所有这些之间有一点区别 所以在条件语句中使用它时要小心。

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
console.log(string.at(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
console.log(string.at(0));          //o/p:- undefined

也试试这个:

x.substr(0, 1);

x.substring(0,1)

详情

substring(start, end)从字符串中提取字符,在2个索引“start”和“end”之间,没有包括“end”本身。

特别说明

  • 如果“start”大于“end”,则此方法将交换两个参数,这意味着str.substring(1,4)==str.substring(4,1)。
  • 如果“开始”或“结束”小于0,则将其视为0。

所有方法的示例

第一string.charAt(index)

返回索引index处的Caract

var str = "Stack overflow";


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

第二string.substring(start,length);

返回字符串中从索引start开始并在长度length之后停止的子字符串

这里你只想要第一个Caract:start = 0length = 1

var str = "Stack overflow";


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

替代string[index]

字符串是一个caract数组。所以你可以像数组的第一个单元格一样获得第一个caract。

返回字符串索引index处的caract

var str = "Stack overflow";


console.log(str[0]);

在jQuery中,您可以使用: 在选择选项的类中:

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

在类中获取文本值:

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

在文本值的ID中:

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

在Nodejs中,您可以使用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

看起来我迟到了,但尝试以下解决方案,我个人找到了最好的解决方案:

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

输出应显示以下值的警报: "t" "e"

你可以这样使用:

'Hello Mr Been'.split(' ').map( item => item.toUpperCase().substring(0, 1)).join(' ');

已经10年了,还没有答案提到RegExp

var x = 'somestring';
console.log(x.match(/./)[0]);

您也可以使用:

var x = "somestring";


console.log(x.split("")[0]); // output "s"

这应该适用于较旧的浏览器。

charAt()如果有父道具,则不起作用
exparent.child.chartAt(0)
使用parent.child.slice(0, 1)

由于每个字符串都是一个数组,因此最简洁的解决方案可能是使用新的扩展运算符:

const x = 'somestring'
const [head, ...tail] = x
console.log(head) // 's'

奖励是您现在可以访问总字符串,但在tail上使用join('')的第一个字符:

console.log(tail.join('')) // 'omestring'

对于任何字符串str="Hello World"

str.split (' ').map(project=>item.toUpperCase(). substring(0,1))

输出:H W

您可以使用以下任何一项:

let userEmail = "email";
console.log(userEmail[0]); // e
console.log(userEmail.charAt(0)); // e
console.log(userEmail.slice(0, 1)); // e
console.log(userEmail.substring(0, 1)); // e
console.log(userEmail.substr(0, 1)); // e
console.log(userEmail.split("", 1).toString()); // e
console.log(userEmail.match(/./)[0]); // e

在Javascript中有很多方法可以找到字符串的第一个字符。我认为最简单的方法是string.charAt()方法。该方法将索引号作为参数并返回索引值。如果默认情况下没有给出任何参数,它将返回字符串的第一个字符。

 const str = "Bangladesh";
const firstCharacter = str.charAt(0);
const secondCharacter = str.charAt(1);
console.log(firstCharacter)
console.log(secondCharacter)