Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как очистить текст от символов (https://javascript.ru/forum/misc/44120-kak-ochistit-tekst-ot-simvolov.html)

prope 07.01.2014 20:18

Как очистить текст от символов
 
текст
t=зима, лето: осень ;'.. end
t=по темам \u0026gt; куртки u80 капюшон р007 end
t=..,штиль \u0028gt; ветер \u0025gt; дождь end


нужно получить следующее

зима лето осень
по темам куртки капюшон
штиль ветер дождь


перебираю несколько дней регулярное выражение ничего не получается, каким образом это сделать?

totalavitaminoz 07.01.2014 20:38

если текст только русский, то первое что приходит в голову выбрать из строки все русские символы с условием:
если идут подряд то писать их в строку до тех пор, пока справа не будет любой другой символ, затем полученную строку положить как 1 элемент в массив.
но уверен, есть решение лучше и быстрее.

апд. так, пожалуй, даже будет проще: оставить все кириллические символы. потом через аналог explode получить массив слов.

рони 07.01.2014 20:57

prope,
var str =  "t=зима, лето: осень ;'.. end \
t=по темам \u0026gt; куртки u80 капюшон р007 end\
t=..,штиль \u0028gt; ветер \u0025gt; дождь end"

alert(str.replace(/[^а-яё]+/mig, ' '))

prope 07.01.2014 21:14

замена сработает конечно
но код что выше не совсем полный
u=http://image.gif t=по темам \u0026gt; куртки u80 капюшон р007 end
u=http://image.gif t=\u0028gt;штиль \u0028gt; ветер \u0025gt; дождь end

так он выглядит целиком
u=(http\S+)\st=([а-яё]*) получает только первое слово если кириллица либо ничего если строка начинается с символов
u=(http\S+)\st=([\W+]*) или до пробела получается
да и все строки разные, писать регулярку под каждую нереально как мне кажется да и смысла нет, есть вариант сделать что то одно чтобы срабатывала везде или не получится?

рони 07.01.2014 21:29

prope,
чем код в 3 посте неустраивает?

prope 07.01.2014 23:01

u=http://image.gif t=по темам \u0026gt; куртки u80 капюшон р007 end
u=http://image.gif t=\u0028gt;штиль \u0028gt; ветер \u0025gt; дождь end

u=(http\S+)\st=([а-яё]+) '$1, $2'
результат
первая строка http://image.gif,`по
вторая строка http:/image.gif, 'пусто'

рони 07.01.2014 23:05

prope,
тихо сам с собою я веду беседу?


Часовой пояс GMT +3, время: 02:11.