gpt4 book ai didi

javascript - 比较不同编码的字符串

转载 作者:行者123 更新时间:2023-12-04 08:13:08 26 4
gpt4 key购买 nike

我只需要与 JavaScript 中的字符串进行比较,有时比较特定字符串会失败。

一个值是通过 text() 使用 jQuery 获得的。方法(来自一些自动生成的 HTML):

var value1 = $('#somelement').text();

另一个值硬编码在 JavaScript 文件中(来自我)。

经过一些测试,我发现这些字符串具有不同的编码,当我使用 escape() 记录它们时,这一点变得清晰起来。功能。

Firebug 向我展示了这样的东西:
console.log(escape(value1));
"blabla%A0%28blub%29"
console.log(escape(value2));
"blabla%20%28blub%29"

所以最后是具有不同编码的空白使我的比较失败。

所以我的问题是:如何正确处理这个问题?我可以将空格替换为相等吗?但我想还有其他控制字符——比如制表符、回车等等——这可能会扰乱我的比较?

最佳答案

So at the end it's the whitespace with different encodings which made my comparison fails.



不,它没有什么不同 encoding .它只是一个不同的空格 - non-breaking space .

Can I just replace the white space to be equal? But I guess there are other control characters - like tab, return and so on - which could mess up my comparison?



您可以替换所有这些。你可能想尝试类似的东西
value1.replace(/\s+/g, " ").replace(/^\s*|\s$/g, "") == value2

其中 joins multiple whitespaces (来自 all kinds ,包括 returns )到单个空格以及 trims比较前的字符串。

关于javascript - 比较不同编码的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26738787/

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