#javascript #replace
#javascript #заменить
Вопрос:
Мне нужно заменить :
на двойную обратную косую \
черту, но приведенный ниже код игнорирует одну косую черту.
var original_id = $j(element).attr('id'); // e.g. sub:777
var new_id = original_id.split(":");
new_id = new_id.join("\:");
alert(new_id);
Вместо отображения sub\:777
sub:777
отображается. Код игнорирует одну
косую черту.
Я был бы признателен, если бы кто-нибудь мог показать мне мою ошибку.
Ответ №1:
Вы должны избегать обратной косой черты:
new_id = new_id.join("\\:");
Некоторые подробности см. в разделе Специальные символы JavaScript.
Ответ №2:
используется как escape-символ во многих языках для таких вещей, как n
для новой строки. Причина, по которой вы видите один, заключается в том, что он экранируется первым
. (в противном случае это было бы невидимо для вас). Чтобы исправить это, экранируйте два
s следующим образом: "\\:"