交换unicode字符

时间:2016-02-01 21:01:40

标签: javascript unicode

我正在尝试编写一个函数,可以将字符串中的unicode字符替换为非unicode ASCII字符,问题是unicode连字符和上传包含它们的字符串时不会读取引号。

我希望该函数具有一个具有键值对的对象(以便可以使用更多unicode引号或连字符进行更新,这可能会导致将来出现问题),该对象的键是ASCII引用{{1并且该值是unicode引号"的集合,用于交换字符串。

我知道您可以使用正则表达式替换字符串中的unicode字符,但我想将此对象用作所选unicode字符的字典。我要问的是,如果你传入一个包含与字典值相匹配的unicode引号的字符串,你怎么能把这些引号换成字典对象键值呢?

1 个答案:

答案 0 :(得分:1)

您可以使用字典,但仍需要使用正则表达式进行替换以查找匹配项。

这样的事情应该有效:

function replaceUnicode(s) {

  var dictionary = {
        '"': '"”"”',
    '-': '-﹣'
  }

  for(var key in dictionary) {

    var re = new RegExp(key,"g");
    s = s.replace(re,dictionary[key])

  }

    return s

}


var str = 'hello "world" - how are - you';
console.log(replaceUnicode(str))

您可以在此处看到它:https://jsfiddle.net/krpxu0gL/

希望有所帮助!