我想用“a”替换“á”,用“e”替换“é”,等等... 我可以用单个正则表达式来做到这一点吗?
找到:
/[áéíóúý]/
替换:???
也许替换可以包含单独的列表,具体取决于像这样的匹配组?
找到:
/(á)|(é)|(í)|(ó)|(ú)|(ý)/
替换:
/a|e|i|o|u|y/
如果你用谷歌搜索一下,你会发现很多在线工具可以做到这一点。 例如,这个:https://www.text-utils.com/remove-accents/
您可以使用 JavaScript 规范化字符串并分隔重音符号 从字母中删除它们,然后使用正则表达式删除它们。 活生生的例子在这里:
document.addEventListener("DOMContentLoaded", () => {
const inputTextarea = document.getElementById("input");
const outputTextarea = document.getElementById("output");
function removeAccents(text) {
return text.normalize('NFD').replace(/[\u0300-\u036f]/g, '');
}
function updateOutput() {
outputTextarea.value = removeAccents(inputTextarea.value);
}
inputTextarea.addEventListener('input', updateOutput);
updateOutput();
});
<form action="#">
<div class="form-item">
<label for="input">Type your text with accents here:</label><br>
<textarea name="input" id="input"
cols="80" rows="3"
>éàîÿ or ÔÄ and so on...</textarea>
<div>
<div class="form-item">
<label for="output">Output:</label><br>
<textarea id="output" name="output"
cols="80" rows="3"></textarea>
</div>
</form>