gpt4 book ai didi

regex - 如果给定的字符串包含给定的子字符串,那么惯用的 scala 查找方式是什么?

转载 作者:行者123 更新时间:2023-12-03 05:40:35 24 4
gpt4 key购买 nike

我在 scala 中有两个字符串,我想知道较大的字符串 (needle) 是否包含较小的字符串 (haystack)。

我发现使用正则表达式和像这样的匹配( from this question ):

needle.r.pattern.matcher(haystack).matches

对于这样一个简单的问题,(1) 过于复杂,但更重要的是,(2) 对我不起作用,因为

"needle".r.pattern.matcher("大海捞针").matches

返回

bool 值 = false

最佳答案

如果你想以最高的效率做到这一点,你可能必须自己编写它(或者在某个地方找到一个好的子字符串搜索算法)。如果您只是想让它正常工作,那么在 Scala 中:

scala> "Finding needle in haystack" contains "needle"
res0: Boolean = true

scala> "Finding needle in haystack" indexOf "needle"
res1: Int = 8

这些不是正则表达式搜索。您也没有正确使用正则表达式匹配(编辑:因为该代码要求与整个字符串完全匹配,而不是找到匹配的子字符串),但这是一个不同的问题。如果您想要统计匹配的数量,您可以执行类似的操作

scala> "needle".r.findAllIn("Finding needle in haystack").length
res2: Int = 1

关于regex - 如果给定的字符串包含给定的子字符串,那么惯用的 scala 查找方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126504/

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