Javascript 将匹配重音字符并将-替换为'';

Javascript 将匹配重音字符并将-替换为'';,javascript,regex,Javascript,Regex,我正在尝试将all替换为“”,这样我将拥有 laos // laos new-caledonia // new caledonia saint-lucia // saint lucia st.-vincent-grenadines // st. vincent grenadines curaçao //

我正在尝试将all替换为“”,这样我将拥有
laos // laos new-caledonia // new caledonia saint-lucia // saint lucia st.-vincent-grenadines // st. vincent grenadines curaçao // curaçao
saint-kitts-and-nevis // saint Kitts and nevis falkland-islands // falkland islands 老挝//老挝 新喀里多尼亚//新喀里多尼亚 圣卢西亚//圣卢西亚 圣文森特格林纳丁斯//圣文森特格林纳丁斯 库拉索//库拉索
圣基茨和尼维斯//圣基茨和尼维斯 福克兰群岛//福克兰群岛

这个正则表达式匹配几乎很难将“-”分组

正如注释中提到的@tomerpacific,如果您只想用空格替换短划线,则可以在字符串上使用replace,如下所示:

str.replace(/-/g, ' ')

words=['laos',//laos
'新喀里多尼亚',//新喀里多尼亚
“圣卢西亚”,//圣卢西亚
“圣文森特格林纳丁斯”,//圣文森特格林纳丁斯
‘库拉索岛’,//库拉索岛
“圣基茨和尼维斯”,//圣基茨和尼维斯
“福克兰群岛”//福克兰群岛
]   
words.forEach((word)=>{
console.log(word.replace(/-/g',);

});
您可以尝试以下正则表达式:
/(\b[A-Za-zÀ-ÖØ-öÿ]+)/g
,但性能方面的字符串解析会更好

使用:
/-/g
我能够将所有代码与此代码匹配([A-Za-zÀ-ÖÖÖÿ]+)((\-?)[A-Za-zÀ-ÖÖÖÖÖÿ]+)+但是我无法将-看出来,所以你只是想用空格替换短划线?我刚刚意识到@tomerpacific已经提到了这一点……你已经用空格替换了连字符,这是一项伟大而简单的任务,你的回答可能解决了这个问题。我只是想帮助他,如果他想使用正则表达式,在什么情况下,如果他想在未来的任务中使用正则表达式,这个正则表达式将非常感激和有用。啊,好的。此外,还需要添加全局标志。你的正则表达式将无法工作,否则:)是的!你是对的,但是/和/g也可以在regex101.com上找到,因为他正试图在这个网站上匹配,我刚刚按原样包括了它,这样就不会有任何混淆。谢谢,我会更新的。