Java Apache和Boyer的StringUtils.contains–;摩尔字符串搜索算法
要在s中搜索s(size(s)>=size(s)并返回真/假值),最好使用Apache的StringUtils.contains()或使用我发现的人很好地实现和测试的Boyer Moore算法Java Apache和Boyer的StringUtils.contains–;摩尔字符串搜索算法,java,string,algorithm,boyer-moore,Java,String,Algorithm,Boyer Moore,要在s中搜索s(size(s)>=size(s)并返回真/假值),最好使用Apache的StringUtils.contains()或使用我发现的人很好地实现和测试的Boyer Moore算法 谢谢apachelang使用javaapi的区域匹配来实现contains。很难说表面上哪个更快。听起来像是一个构建简单测试用例并双向运行的机会。上次我在调试时查看Java正则表达式匹配代码时,Java 7正则表达式引擎使用Boyer-Moore算法进行文本匹配序列。因此,使用Boyer Moore查找字
谢谢apachelang使用javaapi的区域匹配来实现contains。很难说表面上哪个更快。听起来像是一个构建简单测试用例并双向运行的机会。上次我在调试时查看Java正则表达式匹配代码时,Java 7正则表达式引擎使用Boyer-Moore算法进行文本匹配序列。因此,使用Boyer Moore查找
字符串的最简单方法是使用p=Pattern.compile(searchString,Pattern.LITERAL)
和使用p.matcher(toSearchOn).find()进行搜索。不需要第三方库,也不需要手工制作。我相信JRE课程测试得很好…我会试试你的建议。很抱歉,我没有足够的声誉投票支持你的答案。如果你打算用这种方式进行性能测试,最好使用一个框架,比如[OpenJDK JMH]