В Elixir я хотел бы разделить строку, рассматривая все символы, не являющиеся словами, как разделители, включая «Огамовый пробел» () (который не следует путать со знаком минус (-)).
Итак, если я разделю строку:
"1\x002\x013\n4\r5 6\t7 + asda - 3434"
Результат должен быть:
["1","2","3","4","5","6","7","+","asda","-","3434"]
Я пытаюсь выяснить, как сделайте это с помощью Regex, но лучшее, что я смог выполнить sh, это:
Regex.split(~r/[\W| ]+/, input_string)
.... но это отбрасывает знак +
и -
, как они не считаются словесными символами.
или
Regex.split(~r/[^[:punct:]|^[:alnum:]| ]+/, input_string)
, но это не может быть разделено на пробел Огама.
Это действительно будет работать правильно, но неэлегантно для дополнительное преобразование:
Regex.split(~r/[^[:punct:]|^[:alnum:]]+/, String.replace(input_string, " ", " "))
Есть ли способ разделить это с помощью одного вызова Regex?