我正在构建一个类似于打字测试的角度2应用程序。有一个文本和用户需要输入。我将每个输入的单词与文本中的相应单词进行比较。
单词“集合(带有反转的逗号)无法进行比较,因为它永远不等于”集合(带有反转的逗号)。无法在google和SO上找到任何内容。< / p>
状态1表示这两者不相等。
有没有办法让它们相等或者我必须用“
替换文本中的所有这些实例答案 0 :(得分:1)
当比较具有应该被视为等同的字符的字符串时,它们通常是&#34;折叠&#34;在一起。
一方面,像fold-to-ascii这样的项目,我没有使用过,折叠了不少类似的角色。
另一方面,你可以自己创建一个简单的重映射,比如说这样,将字符串拆分成一个字符数组,重新映射等价映射中找到的每个字符,然后将结果连接回一个字符串。
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;