javascript - 用破折号替换字母

标签 javascript regex string replace

非常初级,如果不合适,请见谅。

我试图用破折号替换字符串中的所有字母,如果它只有一个字符,我的代码就可以工作,但不能超过一个。我试过 for 循环,但也不起作用. 我一直在阅读其他主题,例如:Other thread但不知道我做错了什么,我已经读了一段时间了。 谁能帮帮我?

到目前为止,这是我的代码:

function replaceLettersWithDashes(str) {
  /* This function will receive a string with a mix of characters. It should return the string with all letters replaced by dashes ('-').

    For example 'You like cake' should return '--- ---- ----', and 'Tree 4, 6, 8' should return '---- 4, 6, 8'.

    */

     return str.replace(/^[a-zA-Z]+$/g , '-');


}

提前致谢。

最佳答案

您可以搜索单个字母并将其替换为这个正则表达式,它会查找一个字母并将每个字母替换为破折号。标志 'g''i' 用于全局搜索和不区分大小写的搜索。

/[a-z]/gi

如果您使用 +* 作为量词,您将获得所有后续字母并将其替换为单个破折号,这是不需要的。

function replaceLettersWithDashes(str) {
    return str.replace(/[a-z]/gi , '-');
}

console.log(replaceLettersWithDashes('You like cake'));
console.log(replaceLettersWithDashes('Tree 4, 6, 8'));

关于javascript - 用破折号替换字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49458393/

相关文章:

c 字符串,字符指针 : need help printing the string and some advice

javascript - 文本框内的分隔符

javascript - 单击菜单项之一时菜单下拉

javascript - 如何在 Javascript 中使用 .insertAdjacentHTML 设计带有 "span"的文本?

python - 正则表达式模式查找最长的元音序列

c# - 将字符串编码为 base-64 或从 base-64 编码

javascript - 关闭子页面后刷新主页面

python 正则表达式 - 如何获取一行中的所有名称?

javascript - 正则表达式 - "-"、 "."、 "/"之后的所有数字

c++ - 将int转换为字符串的有效方法