Z et le préfixe de la fonction peuvent être utilisés pour implémenter l'algorithme KMP(Knuth-Morris-Pratt) pour trouver une sous-chaîne dans une chaîne en O(|S|). L'essence de cet algorithme est la suivante : nous attribuons à la chaîne que nous voulons trouver la chaîne dans laquelle nous recherchons. Il est fortement souhaitable de mettre un caractère séparateur entre ces lignes, c'est-à-dire un caractère qui n'apparaît sur aucune ligne (généralement #).