You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
asciinema.org/lib/asciinema/string_utils.ex

23 lines
479 B
Elixir

defmodule Asciinema.StringUtils do
def valid_part(invalid_str, str) do
case String.chunk(invalid_str <> str, :valid) do
[] ->
{"", ""}
chunks ->
str =
chunks
|> Enum.take(Enum.count(chunks) - 1)
|> Enum.filter(&String.valid?/1)
|> Enum.join
last = Enum.at(chunks, -1)
if String.valid?(last) do
{str <> last, ""}
else
{str, last}
end
end
end
end