问题标签 [string-comparison]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - 如何在 Java 中执行与编码无关的字符串比较?
我在比较字符串时遇到了一个奇怪的问题。我从客户端向我的服务器发送一个字符串(作为字节使用getBytes()
)。我通过以-Dfile.encoding=UTF-8
.
当我尝试对valueOf
从客户端收到的字符串执行 a 以将其转换为枚举时,我注意到了这个问题。当我打印出字符串时,它们看起来完全一样。但是当我执行 a 时compareTo
,我得到一个非零数字并equals
返回false
。
我假设这是一个编码问题。不过我不太确定——当谈到使用套接字进行客户端-服务器编程时,我还是个新手。
这就是我得到的:
我究竟做错了什么?
更新
这是我从流中重构字符串的方式。也许这是我做错了什么?
java - Java中的字符串比较和字符串实习
什么时候应该比较String
s 作为对象,什么时候应该使用他们的equals
方法?为了确保,我总是使用equals
,但这似乎不是很有效。在什么情况下我可以确定它string1 == string2
可以安全使用?
谢谢!
java - ==,equals() 和 instanceof() 的区别
输出是Equal B
现在为什么 ==
不生产equals A
什么是instanceof
?
php - 如何在 PHP 中为拼写错误的单词找到相似的单词?
我将解释我的问题:
我有一个名为country
. 它有两列:ID
和name
。
当我想搜索'paris'
,但拼错了单词:('pares'
而'e'
不是'i'
)时,我不会从数据库中得到任何结果。
我希望系统建议可以帮助搜索的类似单词。
所以,我正在寻求帮助编写一个脚本,该脚本从数据库中提出建议,其中包含类似的词,如:paris、paredes 等。
java - 检查2个字符串是否包含相同的字符?
有没有办法检查两个字符串是否包含相同的字符。例如,
c - 如何使用 `switch` 语句比较 C 中的字符串?
在 C 语言中,有一种switch
构造可以让人们根据测试整数值执行不同的条件分支代码,例如,
对于字符串值,即 a ,如何获得相同的行为(即避免所谓的“ if
-阶梯”) ?else
char *
php - 必须包含字符串中所有字符的正则表达式匹配
我确信这已经被问到并得到了回答,但老实说,在搜索了相当多的内容并阅读了Regex Tutorial之后,我找不到我的答案。我要做的是匹配一个与另一个字符串具有相同字符和长度的字符串。例如,字符串"abcde"将匹配"edcba"但不会匹配"abcdf"或"aabbc"或"abc"。
这是我的测试代码,最接近我想出的使用字符类的代码,但我不知道如何让正则表达式从匹配开始时基本上遍历类中的每个字符细绳:
这给出了结果:
当我真正想要的是:
c - 比较 static char [] 和 const char *
现在,当我将“abc”分配给 a 和 b 时,对于 a 剩余的 252 个字节保持 '\0' 而对于 b 则不是这样。因此,当我尝试比较它们时,它们会变得不同。一种解决方案是只比较直到 sizeof(b),就像我们在 strncmp() 中所做的那样。还有其他方法吗?可能是通过将一个转换为另一个?
提前致谢。
java - 为什么 compareTo 应该为假时返回真?
我正在调试来自我的数据结构类项目的错误搜索返回。当前的这个项目要求我们构建一个有序展开链表,并对内容进行搜索,然后返回从包含起点到排他终点的项目子列表。为此,我必须搜索内部数组以找到起始元素的索引点。我通过二分搜索来做到这一点,但由于这只返回第一个找到的匹配并且在它之前可能还有其他匹配,所以我必须在数组中返回以找到第一个真正的匹配。我这样做是通过
教授提供了测试代码,它分解了一个字符串并将每个字符作为一个项目添加到结构中。他还包括一个嵌套的 StringCmp 类,它在上面的二分搜索声明中被引用comp
。他的比较方法是
但是,当对从 i 到 o 的子列表方法运行测试时,此方法在何时返回一个真值comp.compare(h,i)==0
,这会从我编写的搜索类中抛出我的开始结果。我最初的补偿return index++
足以通过结构测试,但将预期的起点偏离了一个。
那么,当它显然是错误的时候,为什么它会返回 true 呢?
编辑添加了子列表方法的打印输出,预计从 i 运行到 o
输入测试字符串 =abcdefghijklmnopqrstuvwxyzaeiou
从子列表方法返回:
块 1(使用 4 of 10):[h][i][i][j]
块 2(使用 4 of 10):[k][l][m][n ]
h 根本不应该在列表中,但是comp.compare(node.items[index], item)==0
i == h 返回 true,这显然是错误的。
编辑二 项目的第二部分要求我们解析一个文本文件,从 Artist、Title 和 Lyrics 字段构建 Song 对象,然后使用前缀对标题进行搜索。这里发生的错误不会出现在单字母和多字母搜索中,所以我认为问题出在测试中的 StringCmp 嵌套类。
metrics - 如何在相似性度量和差异度量(距离)之间进行转换?
有没有一种通用的方法可以在相似度度量和距离度量之间进行转换?
考虑一个相似性度量,例如两个字符串共有的 2-gram 的数量。
如果我需要将其提供给期望差异度量的优化算法,例如 Levenshtein 距离,该怎么办?
这只是一个例子......我正在寻找一个通用的解决方案,如果存在的话。就像如何从 Levenshtein 距离到相似度的度量?
感谢您提供的任何指导。