هم Z و هم پیشوند تابع را می توان برای پیاده سازی الگوریتم KMP(Knuth-Morris-Pratt) برای یافتن یک رشته فرعی در یک رشته در O(|S|) استفاده کرد. ماهیت این الگوریتم به شرح زیر است: ما به رشته ای که می خواهیم رشته ای را که در آن جستجو می کنیم نسبت می دهیم. بسیار مطلوب است که یک کاراکتر جداکننده بین این خطوط قرار دهید، یعنی کاراکتری که در هیچ خطی (معمولا #) وجود ندارد.