[英]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.