我正在寻找一个简单的 API 来返回所有索引的列表,其中在小字符串和大字符串之间发生序列对齐。
Java 或 Scala 库中是否有任何方法可以执行此操作?
最佳答案
无需进一步了解。 indexOf 可以解决问题。 对于一个元素:
"test" indexOf "es"
res4: Int = 1
更多元素:
scala> List("beer" , "root beer", "bavarian beer" , "a beer bong" ) map (_ indexOf "beer")
res6: List[Int] = List(0, 5, 9, 2)
如果您想使用其他东西,最好坚持使用一些广泛使用的标准实现。 例如 Apache Commons http://commons.apache.org/proper/commons-lang/有一个很好的 StringUtils 包,其中包含字符串匹配算法。
对于 Boyer-Moore 来说,有无数种实现方式。在维基百科上,您甚至可以找到一个 Java 实现: http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm
关于java - Boyer-Moore 或 Java 或 Scala 库中的类似库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23419276/