【发布时间】:2022-01-16 19:52:49
【问题描述】:
我目前想将城市名称的第一个字母变成大写;但由于在我的国家,我们有很多城市名称由多个单词组成(例如纽约),我目前正在使用这个正则表达式:
/\w\S*/g
所以我正在使用这个功能
function capitalizeWords(myString) {
return myString.replace(/\w\S*/g, w => w.replace(/^\w/, c => c.toUpperCase()))
}
所以我可以更改new yorkin New York。
但现在我有一个小问题,我有一些城市,比如
sauze d'oulx
我需要将其转换为Sauze d'Oulx,不包括d,或者在任何情况下' 符号之前的第一个字符。
在已知字符之前排除一个字符的技巧是什么?
【问题讨论】:
-
从你的角色类中排除引用。但是,我怀疑你会处理所有这样的边缘情况,Zorro 前辈。
-
如果有任何其他边缘情况,请包括它们。
-
谢谢 :D 我正在考虑,唯一的其他边缘情况可能是排除空格前不超过 2 个字符的最后一个单词,例如。
bagno di romagna变成Bagno di Romagna,但我认为这是一个完全不同的正则表达式 -
其实还有很多边缘情况List of double placenames
标签: javascript regex