 <p>No need for kooking further. <strong>indexOf</strong> does the trick. For one element:</p> <pre><code>"test" indexOf "es" res4: Int = 1 </code></pre> <p>For more elements:</p> <pre><code>scala&gt; List("beer" , "root beer", "bavarian beer" , "a beer bong" ) map (_ indexOf "beer") res6: List[Int] = List(0, 5, 9, 2) </code></pre> <p>If you want to use something else it would be best to stick to some standard implementations widely used. For example <em>Apache Commons</em> <a href="http://commons.apache.org/proper/commons-lang/" rel="nofollow">http://commons.apache.org/proper/commons-lang/</a> has a good StringUtils package which contains string matching algorithms.</p> <p>For Boyer-Moore there are myriads of implementations. On Wikipedia you even find a Java implementation: <a href="http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm" rel="nofollow">http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm</a></p>