gpt4 book ai didi

JavaScript:字符串相等但比较返回 false

转载 作者:行者123 更新时间:2023-11-30 00:02:52 24 4
gpt4 key购买 nike

我目前正在为文本 IRC 开发主题,我想将“主题是...”消息与 channel 主题栏中显示的主题进行比较,如果相同则删除它们。

导致问题的主题同时包含变音符号和 URI,如下所示:

++ Frische Austern++ Nächste Sitzung:https:/some/uri/that/can/contain/umlaute"++

当我打印旧主题和新主题时,它们看起来完全一样,直到尾随和前导空格(我使用 trim() 来消除它们)。

比较是用

if(oldTopic === newTopic){
// do stuff
}

到目前为止我尝试了什么

类型检查

我使用 typeof 来确保它们都是 string 类型而不是 Object

元音消除

我使用 replace(/ä/g, 'ae') 来消除元音变音

URL 消除

我用 replace(/\//g, '_') 去掉了正斜杠我使用 escape() 转义非 unicode 字符

不幸的是,这些都没有用。同样,如果我使用 console.log 来显示这两个字符串,它们是完全相同的。我期待一些 Unicode 的东西,你可以用不同的方式表示 ä,但替换它也不起作用。

我已经尝试过了,但我已经达到了我的 JavaScript 知识的极限。我真的不知道为什么它不起作用。该代码适用于其他一些主题,既不涉及任何变音符号也不涉及 URL。

如果你们中有人碰巧知道答案,我将不胜感激。

在此先致以诚挚的问候和感谢!

最佳答案

所以最后 https 部分之前的空白是一种不同于所有其他空白的空白。

它不是一个制表符,我尝试了不同的正则表达式符号来获取它(\f\r 等等),但没有成功。

最终起作用的是使用 replace(/\s/g, '')\s 也涵盖制表符,但我认为,除了将空格更改为制表符外,可能不会有主题更改,没有其他更改。

请记住,如果制表符和空格必须对您的情况产生影响,则此解决方案将行不通。

关于JavaScript:字符串相等但比较返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39688987/

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