Я ищу аккуратное решение RegEx для замены
- Все не буквенно-цифровые символы
- Все новые линии
- Все несколько экземпляров пустого пространства
С одним пробелом
Для тех, кто играет дома (работает следующее)
text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " ");
Я думаю, что RegEx, вероятно, достаточно мощный, чтобы достичь этого в одном утверждении. Компоненты, которые я считаю нужными
-
[^a-z0-9]
- Удалить не[^a-z0-9]
-цифровые символы -
\s+
- сопоставить любые коллекции пробелов -
\r?\n|\r
- сопоставить всю новую строку -
/gmi
- глобальный, многострочный, без/gmi
регистра
Тем не менее, я не могу оформить регулярное выражение в правильном направлении (следующее не работает)
text.replace(/[^a-z0-9]|\s+|\r?\n|\r/gmi, " ");
вход
234&^%,Me,2 2013 1080p x264 5 1 BluRay
S01(*&asd 05
S1E5
1x05
1x5
Желаемый вывод
234 Me 2 2013 1080p x264 5 1 BluRay S01 asd 05 S1E5 1x05 1x5