簡體   English   中英

用正則表達式JS替換字符串中的字符

[英]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)); 

ATGC看起來您是在指DNA鹼基對:)

目的是將AT交換, A GC交換。 假設輸入字符串從不包含字符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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM