JS : How to capitalize first letter of each symbol-separated word in a string?
My JS woks well when the string has one word:
- BRUNO ==> Bruno
It works well also when the string is a space sEparated words :
- JEAN MARC ==> Jean Marc
But when it's an underscore separated words i got? :
- JEAN-FRANCOIS ==> Jean-francois (wrong)
My purpose is to generalize it to get that :
- JEAN-FRANCOIS ==> Jean-Francois
How do I make it become LIKE THAT?
My script is that :
capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^| )(w)/g, (x) => {
return x.toUpperCase();
});
}
javascript regex typescript ecmascript-6 ecmascript-5
add a comment |
My JS woks well when the string has one word:
- BRUNO ==> Bruno
It works well also when the string is a space sEparated words :
- JEAN MARC ==> Jean Marc
But when it's an underscore separated words i got? :
- JEAN-FRANCOIS ==> Jean-francois (wrong)
My purpose is to generalize it to get that :
- JEAN-FRANCOIS ==> Jean-Francois
How do I make it become LIKE THAT?
My script is that :
capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^| )(w)/g, (x) => {
return x.toUpperCase();
});
}
javascript regex typescript ecmascript-6 ecmascript-5
what are all available separators you've except-
– Kaushik
Jan 2 at 11:07
add a comment |
My JS woks well when the string has one word:
- BRUNO ==> Bruno
It works well also when the string is a space sEparated words :
- JEAN MARC ==> Jean Marc
But when it's an underscore separated words i got? :
- JEAN-FRANCOIS ==> Jean-francois (wrong)
My purpose is to generalize it to get that :
- JEAN-FRANCOIS ==> Jean-Francois
How do I make it become LIKE THAT?
My script is that :
capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^| )(w)/g, (x) => {
return x.toUpperCase();
});
}
javascript regex typescript ecmascript-6 ecmascript-5
My JS woks well when the string has one word:
- BRUNO ==> Bruno
It works well also when the string is a space sEparated words :
- JEAN MARC ==> Jean Marc
But when it's an underscore separated words i got? :
- JEAN-FRANCOIS ==> Jean-francois (wrong)
My purpose is to generalize it to get that :
- JEAN-FRANCOIS ==> Jean-Francois
How do I make it become LIKE THAT?
My script is that :
capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^| )(w)/g, (x) => {
return x.toUpperCase();
});
}
javascript regex typescript ecmascript-6 ecmascript-5
javascript regex typescript ecmascript-6 ecmascript-5
edited Jan 2 at 14:01
Mamun
29.8k71931
29.8k71931
asked Jan 2 at 11:03


firasKoubaafirasKoubaa
1,45351748
1,45351748
what are all available separators you've except-
– Kaushik
Jan 2 at 11:07
add a comment |
what are all available separators you've except-
– Kaushik
Jan 2 at 11:07
what are all available separators you've except
-
– Kaushik
Jan 2 at 11:07
what are all available separators you've except
-
– Kaushik
Jan 2 at 11:07
add a comment |
3 Answers
3
active
oldest
votes
You can add the hyphen (-
) as part of the RegEx:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
add a comment |
If you are going to have many separators you can create an array with them and use it to create your regex dynamically. Like this:
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
add a comment |
You can capitalise every first letter as well as every letter after symbols like this:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54005162%2fjs-how-to-capitalize-first-letter-of-each-symbol-separated-word-in-a-string%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can add the hyphen (-
) as part of the RegEx:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
add a comment |
You can add the hyphen (-
) as part of the RegEx:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
add a comment |
You can add the hyphen (-
) as part of the RegEx:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
You can add the hyphen (-
) as part of the RegEx:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(/(^|[ -])(w)/g, (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString('BRUNO'));
console.log(capitalizeString('JEAN MARC'));
console.log(capitalizeString('JEAN-FRANCOIS'));
answered Jan 2 at 11:11
MamunMamun
29.8k71931
29.8k71931
add a comment |
add a comment |
If you are going to have many separators you can create an array with them and use it to create your regex dynamically. Like this:
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
add a comment |
If you are going to have many separators you can create an array with them and use it to create your regex dynamically. Like this:
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
add a comment |
If you are going to have many separators you can create an array with them and use it to create your regex dynamically. Like this:
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
If you are going to have many separators you can create an array with them and use it to create your regex dynamically. Like this:
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
const separators = ['^', ' ', '-'];
const capitalizeString = (str) =>
str.toLowerCase()
.replace(new RegExp(`(${separators.join('|')})\w`, 'g'), (x) => x.toUpperCase());
const s1 = 'BRUNO';
const s2 = 'JEAN MARC';
const s3 = 'JEAN-MARC';
console.log(capitalizeString(s1));
console.log(capitalizeString(s2));
console.log(capitalizeString(s3));
answered Jan 2 at 11:15
Alex GAlex G
1,4172410
1,4172410
add a comment |
add a comment |
You can capitalise every first letter as well as every letter after symbols like this:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
add a comment |
You can capitalise every first letter as well as every letter after symbols like this:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
add a comment |
You can capitalise every first letter as well as every letter after symbols like this:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
You can capitalise every first letter as well as every letter after symbols like this:
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
function capitalizeString(str) {
var lowerString = str.toLowerCase();
return lowerString.replace(new RegExp("(?:\b|_)([a-z])", "g"), (x) => {
return x.toUpperCase();
});
}
console.log(capitalizeString("abcd-efgh"));
answered Jan 2 at 11:08


AndrewL64AndrewL64
10.2k42047
10.2k42047
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54005162%2fjs-how-to-capitalize-first-letter-of-each-symbol-separated-word-in-a-string%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
what are all available separators you've except
-
– Kaushik
Jan 2 at 11:07