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

Javascript 如何获取字符串的第一个字符?,javascript,Javascript,我有一个字符串,我需要得到它的第一个字符 var x='somestring'; 警报(x[0])//在ie7中,返回未定义的 const x='some string'; log(x.substring(0,1))您想要的是 在JavaScript中,您可以执行以下操作: const x='some string'; log(x.substring(0,1)) charAt()方法允许您指定所需字符的位置 您要做的是获取数组“x”位置的字符,该数组没有定义为x不是数组 var str="s

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

var x='somestring';
警报(x[0])//在ie7中,返回未定义的
const x='some string';
log(x.substring(0,1))您想要的是


在JavaScript中,您可以执行以下操作:

const x='some string';
log(x.substring(0,1))
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


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
也可以尝试以下方法:

x.substr(0, 1);
x.子串(0,1)

细节
子字符串(开始,结束)
从两个索引“开始”和“结束”之间的字符串中提取字符,包括“结束”本身

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

第一个
string.charAt(索引)

返回索引
索引

var str=“堆栈溢出”;
console.log(str.charAt(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)
在文本值的ID中:

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

在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

看起来我参加聚会迟到了,但请尝试以下我个人认为最好的解决方案:

var x = "testing sub string"
alert(x[0]);
alert(x[1]);
输出应显示具有以下值的警报: “t” “e”


字符(0)是JavaScript方法,它将根据索引返回值,这里0是第一个字母的索引。

您可以这样使用:

'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()
如果它有父属性,则不起作用
ex
parent.child.chartAt(0)


使用IE7、Chrome、Firefox上的
parent.child.slice(0,1)

x.charAt()
也会返回第一个字符,就像没有向这个方法传递索引一样,它会将它假定为
0
@MohammadUsman,而您所说的是真的,不幸的是charAt()在没有任何参数的情况下,Firefox71的运行速度实际上比Firefox中的chartAt(0)慢10倍左右。你自己看看这里:这个解决方案对ASCII很好,但是一旦你处理了更多的问题,它就会以各种方式崩溃
“另外,为了避免将来的访问者感到困惑:
x[0]
x.charAt(0)
一样有效,除非您关心IE 7,请小心-您可能没有要提取的字符!只是好奇,您发布此答案有什么原因吗?它似乎与公认的答案重复。他们确实提供了一些额外信息(即使它应该是一个注释)…就像它在什么浏览器中测试过一样。我知道
indexOf
在IE8中不起作用,这对我来说相当重要。实际上,我开始在谷歌上搜索charAt兼容性,直到我在这里看到这个答案。当charAt看到缺少的字符串时,substring大约慢了90%。substr(0,1);:)如果希望使用子字符串funcs,则
x.slice(0,1)
较短。要获取最后一个字符,只需使用:
x.slice(-1)
使用console.time()对单个操作计时不是一个合理或准确的性能测试。当然,当您只对单个操作计时时,它们之间没有太大的差异。这些方法实际上执行的不同。此方法将是解决此问题的性能最低的方法之一。次优。substr()被认为是一个遗留函数,应尽可能避免使用。它实际上不是JS语言的一部分,可以随时删除。在所有新代码中不要使用substr(),旧代码应重构为使用其他方法。这会在第一个字符之后获取所有内容,而不是第一个字符。
var x = "somestring";

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