“和”之间的区别

时间:2017-01-21 10:08:43

标签: javascript string

我正在构建一个类似于打字测试的角度2应用程序。有一个文本和用户需要输入。我将每个输入的单词与文本中的相应单词进行比较。

单词“集合(带有反转的逗号)无法进行比较,因为它永远不等于”集合(带有反转的逗号)。无法在google和SO上找到任何内容。< / p>

这是来自augury的图像参考。 enter image description here

状态1表示这两者不相等。

有没有办法让它们相等或者我必须用

替换文本中的所有这些实例

1 个答案:

答案 0 :(得分:1)

当比较具有应该被视为等同的字符的字符串时,它们通常是&#34;折叠&#34;在一起。

一方面,像fold-to-ascii这样的项目,我没有使用过,折叠了不少类似的角色。

另一方面,你可以自己创建一个简单的重映射,比如说这样,将字符串拆分成一个字符数组,重新映射等价映射中找到的每个字符,然后将结果连接回一个字符串。

&#13;
&#13;
var equivalenceMap = {
    '“': '"',
    '”': '"',
    '‘': "'",
    '’': "'"
};

function foldString(src) {
    return src.split('').map(function (c) {
        return (c in equivalenceMap) ? equivalenceMap[c] : c;
    }).join('');
}

console.log('Strings equivalent: ' + (foldString('“collection') == foldString('"collection')));
&#13;
&#13;
&#13;