javascript - 2 个字符串替换 javascript

标签 javascript regex

我是初学者,我该如何组合它们:

var mystring = "my.email@computer.com";
document.write(mystring.replace(/@/, "&&"));

打印 my.email&&computer.com

var mystring = "my.email@computer.com";
document.write(mystring.replace(/\./, "##"));

打印my##email@computer.com

我有两个问题: 如何在 @ 之后将此正则表达式 (mystring.replace(/./, "##") 更改为 ##以及如何将这两行合并为一行,最终阅读内容为:my.email&&computer##com

最佳答案

输入:my.first.last.email@example.computer.com

结果:my.first.last.email&&example##computer##com

解决方案一:

var mystring = "my.first.last.email@example.computer.com";
//replace '.' after '@' with '##', then replace '@' with '&&'.
var result = mystring.replace(/(?!.*@)\./g, "##").replace(/@/, "&&");
document.write(result);

解决方案 2(可配置):

var mystring = "my.email@computer.com";

var replacements = {
                    '@' : '&&',
                    '.' : '##'
                   };

var str =  "my.first.last.email@example.computer.com";

//match latter part of the string
var result = str.replace(/@\w+(\.\w+)+/g, function(at_and_after) {
    //replace all '.' and '@' in that part.
    return at_and_after.replace(/@|\./g, function(m) { return replacements[m]});
});
document.write(result);  //console.log(result) or alert(result) is a better way for demo

关于javascript - 2 个字符串替换 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14743204/

相关文章:

javascript - Angular JS NG-子数组中的重复

用于密码验证的 PHP 正则表达式

python - 在 python 中验证评论的最佳正则表达式是什么?

python - 有标签时查找 anchor 文本

javascript - 如何在react中自动启动bootstrap模式

javascript - 通过多个 php 文件通过 javascript POST 数据

javascript - v-model 并选择多个

javascript - 如何创建 QChart.js 折线图

regex - 在 Haskell 中使用正则表达式进行分词

regex - 如何使用 Notepad++ 删除所有包含非标准英文字母的行?