# javascript – How to get first character of string?

## The Question :

638 people think this question is useful

I have a string, and I need to get its first character.

var x = 'somestring';



How can I fix my code?

• just be careful – you might not have a character there to extract!

1114 people think this answer is useful

What you want is charAt.

var x = 'some string';



149 people think this answer is useful

In JavaScript you can do this:

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


69 people think this answer is useful

You can use any of these.

There is a little difference between all of these So be careful while using it in conditional statement.

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



29 people think this answer is useful

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


19 people think this answer is useful

Example of all method

First : string.charAt(index)

Return the caract at the index index

var str = "Stack overflow";

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


Second : string.substring(start,length);

Return the substring in the string who start at the index start and stop after the length length

Here you only want the first caract so : start = 0 and length = 1

var str = "Stack overflow";

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


Alternative : string[index]

A string is an array of caract. So you can get the first caract like the first cell of an array.

Return the caract at the index index of the string

var str = "Stack overflow";

console.log(str[0]);


17 people think this answer is useful
var x = "somestring"



The charAt() method allows you to specify the position of the character you want.

What you were trying to do is get the character at the position of an array “x”, which is not defined as X is not an array.

16 people think this answer is useful

You can even use slice to cut-off all other characters:

x.slice(0, 1);



7 people think this answer is useful
var str="stack overflow";

firstChar  = str.charAt(0);

secondChar = str.charAt(1);



Tested in IE6+, FF, Chrome, safari.

6 people think this answer is useful

Try this as well:

x.substr(0, 1);



2 people think this answer is useful

x.substring(0,1)

# Details

substring(start, end) extracts the characters from a string, between the 2 indices “start” and “end”, not including “end” itself.

# Special notes

• If “start” is greater than “end”, this method will swap the two arguments, meaning str.substring(1, 4) == str.substring(4, 1).
• If either “start” or “end” is less than 0, it is treated as if it were 0.

2 people think this answer is useful

Looks like I am late to the party, but try the below solution which I personally found the best solution:

var x = "testing sub string"



Output should show alert with below values: “t” “e”

1 people think this answer is useful

in Nodejs you can use 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



1 people think this answer is useful

you can use in this way:

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



0 people think this answer is useful
var string  = "Hello World";
console.log(charAt(0));



The charAt(0) is JavaScript method, It will return value based on index, here 0 is the index for first letter.

0 people think this answer is useful

It’s been 10 years yet no answer mentioned RegExp.

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


-1 people think this answer is useful

in JQuery you can use: in class for Select Option:

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



in class for text Value:

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



in ID for text Value:

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