[英]replace characters in string with regex JS
我想使用正则表达式替换字符串中的多个字符。 我正在尝试交换字母A和T以及G和C。
function replacer(string) {
return "String " + string + " is " + string.replace(/A|T|G|C/g, "A","T","G","C");
}
我的正则表达式正确吗?
谢谢
我建议将第一个参数是匹配字符的replace
回调与来自character-> replace
的映射结合起来,如下所示:
// Swap AT and GC: function replacer(string) { const replacements = {'A': 'T', 'T': 'A', 'G': 'C', 'C': 'G'}; return string.replace(/A|T|G|C/g, char => replacements[char]); } // Example: let string = 'ATGCCTCG'; console.log('String ' + string + ' is ' + replacer(string));
A
, T
, G
, C
看起来您是在指DNA碱基对:)
目的是将A
与T
交换, A
G
与C
交换。 假设输入字符串从不包含字符Z
,这是一个使用正则表达式的简单交换函数:
注意:将Z
更改为您确信不会在输入字符串中出现的其他字符或符号。 例如$
?
var input = "AAATTGGCCTAGC" input = input.replace(/A/g,"Z").replace(/T/g,"A").replace(/Z/g,"T"); input = input.replace(/G/g,"Z").replace(/C/g,"G").replace(/Z/g,"C"); console.log(input);
您也可以这样进行:
function replacer(string) { var newString = string.replace(/([ATGC])/g, m => { switch (m) { case 'A': return 'T'; case 'T': return 'A'; case 'G': return 'C'; case 'C': return 'G'; } }); return "String " + string + " is " + newString; } console.log(replacer('GATTACAhurhur'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.