takeWhile -bytestring +text

takeWhile :: (Char -> Bool) -> Text -> Text
text Data.Text, text Data.Text.Lazy
O(n) takeWhile, applied to a predicate p and a Text, returns the longest prefix (possibly empty) of elements that satisfy p. Subject to fusion.