gpt4 book ai didi

javascript - 如何在 Javascript 中比较完全相同的字符串但具有不同的 charCodes

转载 作者:行者123 更新时间:2023-12-02 16:01:47 25 4
gpt4 key购买 nike

我遇到的问题是,Sharepoint API 从表中返回一个字符串,该字符串与我想要比较的字符串完全相同。但比较总是失败。

at
"people lookbook+"
lt
"peo​ple lookboo​k+​​"
at == lt
false
at === lt
false

当我迭代字符串并打印出字符代码时,我可以看到差异。

那么我如何比较它们或者我应该如何解码它?

这里是字符代码:

for (index = 0; index < at.length; ++index) {
console.log("char " + index + ": " + at.charCodeAt(index));
}
VM1116:2 char 0: 112
VM1116:2 char 1: 101
VM1116:2 char 2: 111
VM1116:2 char 3: 112
VM1116:2 char 4: 108
VM1116:2 char 5: 101
VM1116:2 char 6: 32
VM1116:2 char 7: 108
VM1116:2 char 8: 111
VM1116:2 char 9: 111
VM1116:2 char 10: 107
VM1116:2 char 11: 98
VM1116:2 char 12: 111
VM1116:2 char 13: 111
VM1116:2 char 14: 107
VM1116:2 char 15: 43

for (index = 0; index < lt.length; ++index) {
console.log("char " + index + ": " + lt.charCodeAt(index));
}
VM1118:2 char 0: 112
VM1118:2 char 1: 101
VM1118:2 char 2: 111
VM1118:2 char 3: 8203
VM1118:2 char 4: 112
VM1118:2 char 5: 108
VM1118:2 char 6: 101
VM1118:2 char 7: 32
VM1118:2 char 8: 108
VM1118:2 char 9: 111
VM1118:2 char 10: 111
VM1118:2 char 11: 107
VM1118:2 char 12: 98
VM1118:2 char 13: 111
VM1118:2 char 14: 111
VM1118:2 char 15: 8203
VM1118:2 char 16: 107
VM1118:2 char 17: 43
VM1118:2 char 18: 8203
VM1118:2 char 19: 8203

最佳答案

8203 是 Zero width space 。它可能并不是真正需要的。你可以像这样把它去掉

lt = lt.replace( /\u8203/g, '' );

然后比较就会起作用。问题是,如果插入一些其他字符,在这种情况下,您需要将其他字符添加到正则表达式中。这可能不是一个非常优雅的解决方案。

关于javascript - 如何在 Javascript 中比较完全相同的字符串但具有不同的 charCodes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31136372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com