【发布时间】:2019-10-11 15:26:34
【问题描述】:
我正在尝试将句子中每个单词的首字母大写。
在 javascript 中,\b 似乎是为此而设计的:它匹配单词的开头。
这适用于 ascii 字符:
static capitalize(str: string): string {
return str.replace(new RegExp('\\b\\w', 'g'), (txt) => txt.toUpperCase());
}
此测试通过:
expect(StringUtils.capitalize('jean-michel dupont')).toEqual('Jean-Michel Dupont');
问题:当我使用拉丁字符时,拉丁字符和下一个字符都是大写的。
StringUtils.capitalize('Fais de ta vie un rêve, et d\'un rêve, une réalité.')
Fais De Ta Vie Un RÊVe, Et D'un RÊVe, Une RÉAlité. // Actual
Fais De Ta Vie Un Rêve, Et D'Un Rêve, Une Réalité. // Expected
有没有办法解决这个问题?
【问题讨论】:
标签: javascript regex typescript