Is there an easy way to replace characters at the beginning and end of a string, but not in the middle? I need to trim off dashes. I know trim()
exists, but it only trims whitespace.
Here's my use case:
Input:
university-education
-test
football-coach
wine-
Output:
university-education
test
football-coach
wine
You can use String#replace
with a regular expression.
^-*|-*$
Explanation:
^
- start of the string
-*
matches a dash zero or more times
|
- or
-*
- matches a dash zero or more times
$
- end of the string
function trimDashes(str){
return str.replace(/^-*|-*$/g, '');
}
console.log(trimDashes('university-education'));
console.log(trimDashes('-test'));
console.log(trimDashes('football-coach'));
console.log(trimDashes('--wine----'));