【问题标题】:Javascript replace multiple chars at onceJavascript一次替换多个字符
【发布时间】:2016-11-05 00:13:47
【问题描述】:

这是我的数组和字符串:

var array = new Array('üÜ', 'ıI', 'iİ', 'ğĞ', 'şŞ', 'çÇ');
var string = 'İSTANBUL, ÜSKÜDAR, Çarşamba'

我想将每个(对于 ü)替换为 [üÜ]。我的意思是 [üÜ]SK[üÜ]DAR。谁能帮帮我?

【问题讨论】:

    标签: javascript unicode replace


    【解决方案1】:

    你可以使用replace()方法

    string.replace(/ü|Ü/g, '[üÜ]')
    

    对于所有匹配项,

    array.forEach(function(key){
        string = string.replace(new RegExp('['+ key +']', 'g'), '['+ key +']');
    });
    

    【讨论】:

    • 如何用这种方法替换数组中的所有字符?
    • 我虽然你可以从这部分弄清楚。好的,让我更新我的答案。
    【解决方案2】:
    function replaceAll(source, search, replace, ignoreCase) {
        //SCAPE SPECIAL CHARACTERES.
        var search1 = search.toString().replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1");
        //IGNORE CASE SENSIVITY.
        var ignore = (ignoreCase) ? "gi" : "g";
        var result = source.replace(new RegExp(search1, ignore), replace);
        return result;
    }
    
    
    var array = new Array('üÜ', 'ıI', 'iİ', 'ğĞ', 'şŞ', 'çÇ');
    
    for (var i=0; i < array.length; i++){
        array[i] = replaceAll(array[i],"ü", "üÜ",true);
    }
    

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 2011-12-01
      • 2013-12-05
      • 2013-05-10
      • 2014-05-15
      • 2017-10-23
      • 1970-01-01
      相关资源
      最近更新 更多