在Javascript中匹配和替换数组中的对象

我想用 JavaScript 中数组中的值替换对象


这是数组 replace_map = { "u0627": "A", "u0675": "A", "u0673": "A", "u0630": "Z", "u0622": "AA", "u0628": "B", "u067E": "P", "u062A": "T", "u0637": "T", "u0679": "T", "u062C": "J", "u0633": "S", "u062B": "S", "u0635": "S", "u0686": "CH", "u062D": "H", "u0647": "H", "u0629": "H", "u06DF": "H", "u062E": "KH", "u062F": "D", "u0688": "D", "u0632": "Z", "u0636": "Z", "u0638": "Z", "u068E": "Z", "u0631": "R", "u0691": "R", "u0634": "SH", "u063A": "GH", "u0641": "F", "u06A9": "K", "u0642": "K", "u06AF": "G", "u0644": "L", "u0645": "M", "u0646": "N", "u06BA": "N", "u0648": "O", "u0649": "Y", "u0626": "Y", "u06CC": "Y", "u06D2": "E", "u06C1": "H", "u064A": "E", "u06C2": "AH", "u06BE": "H", "u0639": "A", "u0643": "K", "u0621": "A", "u0624": "O", "u060C": "" };


这是我的 Javascript 代码


<script>

$(function () {

mkTool('utf16-encode', function (text) {

    var encoded = punycode.ucs2.decode(text);

    ret = '';

    for (var i = 0; i < encoded.length; i++) {

        

        var hex = encoded[i].toString(16);

        ret += "\\u0" + hex + "";

    }

    const

    result = ret.replace(

    new RegExp(Object.keys(replacements).join('|'), 'g'),

    v => replacements[v]

    );

    return result;

        });

    });           

  </script>

我想替换 ret 返回对象"\"u0627\"u0633"匹配并从数组替换replace_map


如何匹配和替换 ret 从数组返回对象


BIG阳
浏览 251回答 1
1回答

开满天机

您可以使用对象的所有键(使用真实字符)构建正则表达式,并使用函数替换所有出现。const&nbsp; &nbsp; replacements = { "\u0627": "A", "\u0675": "A", "\u0673": "A", "\u0630": "Z", "\u0622": "AA", "\u0628": "B", "\u067E": "P", "\u062A": "T", "\u0637": "T", "\u0679": "T", "\u062C": "J", "\u0633": "S", "\u062B": "S", "\u0635": "S", "\u0686": "CH", "\u062D": "H", "\u0647": "H", "\u0629": "H", "\u06DF": "H", "\u062E": "KH", "\u062F": "D", "\u0688": "D", "\u0632": "Z", "\u0636": "Z", "\u0638": "Z", "\u068E": "Z", "\u0631": "R", "\u0691": "R", "\u0634": "SH", "\u063A": "GH", "\u0641": "F", "\u06A9": "K", "\u0642": "K", "\u06AF": "G", "\u0644": "L", "\u0645": "M", "\u0646": "N", "\u06BA": "N", "\u0648": "O", "\u0649": "Y", "\u0626": "Y", "\u06CC": "Y", "\u06D2": "E", "\u06C1": "H", "\u064A": "E", "\u06C2": "AH", "\u06BE": "H", "\u0639": "A", "\u0643": "K", "\u0621": "A", "\u0624": "O", "\u060C": "" },&nbsp; &nbsp; string = '\u0627\u0633',&nbsp; &nbsp; result = string.replace(&nbsp; &nbsp; &nbsp; &nbsp; new RegExp(Object.keys(replacements).join('|'), 'g'),&nbsp; &nbsp; &nbsp; &nbsp; v => replacements[v]&nbsp; &nbsp; );console.log(string);console.log(result);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript