SyntaxError, Не могу почистить текст, от "мусорных" символов



  • Есть вот такой вот символ

    
    

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



  • @samael_96 скиньте весь текст с этим символом (можете файлом, если не получится так)



  • @uraabk said in SyntaxError, Не могу почистить текст, от "мусорных" символов:

    скиньте весь текст с этим символом (можете файлом, если не получится так)

    Ну например так

    текст  текст текст текст  текст текст текст
    

    Вот этот 
    И этот 
    Символы дают синтаксис еррор. Попробуйте этот текст просто добавить в переменную, та же синтаксис еррор будет.





  • @samael_96 Попробуйте использовать вот этот код

    var str = "текст � текст текст текст � текст текст текст";
    var str_arr = str.split("");
    
    str = str_arr.filter(function(char) {
    	return char.charCodeAt(0) > 31
    }).join("");
    
    log(str);
    


  • @usertrue хоть бы протестировал)) В лог выводится все так же с �



  • Коллеги конечно всем спасибо, но это не оно.
    Наверное надо подождать суппорта или Fox, почему собственно эти символы дают SyntaxError?

    Как чистить, заменой строки и регулярным выражением я знаю. Вопрос какого черта именно эти символы дают ошибку?
    Причем через Содержание ответа HTTP-клиента они попадает в переменную без проблем, а вот стандартно, через добавить в переменную, падает ошибка SyntaxError
    И Замена строки с этими символами так же SyntaxError выдает, и Заменить строку в регулярном выражении так же ошибку выбивает.



  • @uraabk Я его сам писал и он работал для его случая, а эти символы движок форума изменил ))
    Вот поправил, но я не вникал. Надо смотреть диапазоны.

    var str = "текст � текст текст текст � текст текст текст";
    var str_arr = str.split("");
    
    str = str_arr.filter(function(char) {
    	return char.charCodeAt(0) > 31 && char.charCodeAt(0) <=42655
    }).join("");
    
    log(str);
    


  • @samael_96 Вот для содержания ответа

    var str_arr = [[SAVED_CONTENT]].split("");
    
    [[SAVED_CONTENT]] = str_arr.filter(function(char) {
    	return char.charCodeAt(0) > 31 && char.charCodeAt(0) <=42655
    }).join("");
    


  • @samael_96 said in SyntaxError, Не могу почистить текст, от "мусорных" символов:

    почему собственно эти символы дают SyntaxError?

    Потому что, это нестандартные символы (типо букв/цифр)



  • @usertrue О чудо! Работает :) Спасибо большое.


Log in to reply