Можно ли отделить "\ t" от char '\' + 't' - PullRequest
2 голосов
/ 04 октября 2011

У меня есть строка, содержащая путь Windows к файлу. Это выглядит примерно так:

var path = 'c:\test\old\new\ring.txt';

ОС и браузер дали его мне. Поэтому я не могу изменить его, вручную написав «\» перед каждым «\». Каждый '\' это просто '\,' обычный разделитель пути победы. Проблема возникает, если за «\» следует t, r, n.

Тогда это становится пробелом. Но если я передаю это как параметр функции, строка автоматически изменяется так, что все \ пропали!

Итак, есть ли способ как-то отделить '\ t' '\ n' '\ r' ... от '\' + char?

Если нет, то возможно ли как-то избежать '\', чтобы они остались '\'? Нравится \ а не становиться табуляцией, новой строкой и т. Д.

редактирование: Может быть, я не был достаточно ясен.

Ответы [ 5 ]

6 голосов
/ 04 октября 2011

Избегайте обратной косой черты, удвоив ее: c:\\test\\etc.

4 голосов
/ 04 октября 2011

Обратная косая черта - это escape-символ, поэтому вы избегаете символов t, n, o и r. Вы должны избежать обратной косой черты. Вы можете сделать это так:

var path = 'c:\\test\\old\\new\\ring.txt'; 
4 голосов
/ 04 октября 2011
var path = 'c:\\test\\old\\new\\ring.txt';
3 голосов
/ 04 октября 2011

Если вам действительно нужно использовать обратную косую черту, избегайте их: 'C:\\whatever'

Если путь действительно предназначен для использования: используйте косую черту. В то время как Windows отображает обратной косой черты, также принимает прямой косой черты.

0 голосов
/ 05 октября 2011

Извините, это была моя ошибка.ОС уже дала мне путь '\' обратной косой черты!Я получаю undefined от функции mu из-за этого указания на объект html, а не на объект js с функцией.

Мой плохой: (* ​​1003 *

...