How to Get the Substring Before a Character in JavaScript
Recently, I had to manipulate a string to obtain information that followed a certain structure.
The example below is similar to what I had to do.
I wanted to get name
, which was followed by a colon :
.
let str = "name: description";
There were a few ways I could’ve gone about this.
Using split()
str = str.split(":")[0];
In str.split(":")
, the parameter acts as a delimiter in the string, and each element is returned inside an array.
For the string above, the result is:
["name", " description"]
This is why I am accessing the zeroth element.
Using substring()
and indexOf()
str = str.substring(0, str.indexOf(":"));
str.indexOf(":")
returns 4
, so we are obtaining the string from index 0
(inclusive) to 4
(exclusive).
Using regex
str = /(.+):/.exec(str)[0];
(.+)
matches any number of word characters.
:
matches, well, a colon.