我正在尝试编写一个函数,可以将字符串中的unicode字符替换为非unicode ASCII字符,问题是unicode连字符和上传包含它们的字符串时不会读取引号。
我希望该函数具有一个具有键值对的对象(以便可以使用更多unicode引号或连字符进行更新,这可能会导致将来出现问题),该对象的键是ASCII引用{{1并且该值是unicode引号"
的集合,用于交换字符串。
”
我知道您可以使用正则表达式替换字符串中的unicode字符,但我想将此对象用作所选unicode字符的字典。我要问的是,如果你传入一个包含与字典值相匹配的unicode引号的字符串,你怎么能把这些引号换成字典对象键值呢?
答案 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/
希望有所帮助!