заменить косые черты в .Net - PullRequest
       11

заменить косые черты в .Net

3 голосов
/ 28 февраля 2010

У меня есть локальный путь к файлу, содержащий «\», и ​​мне нужно изменить все вхождения на «/» для удаленного пути к файлу.

Я пытался

myString.replace("\","/")

и

myString.replace(Convert.ToChar(92), Convert.ToChar(47)) 

Кажется, что оба оставляют "\" в такте.

Ответ:

NewString = myString.replace("\","/")

Проблема заключалась в том, что я не назначал ее переменной. Выход из косой черты фактически приводил к сбою, по крайней мере в vb.net.

Ответы [ 4 ]

10 голосов
/ 28 февраля 2010

Строки неизменны. Метод Replace возвращает новую строку, а не влияет на текущую строку, поэтому вам нужно записать результат в переменную. Если вы используете VB.NET, вам не нужно экранировать обратную косую черту, однако в C # ее необходимо экранировать, используя 2 из них.

VB.NET (экранирование не требуется):

myString = myString.Replace("\","/")

C # (обратный слеш экранирован):

myString = myString.Replace("\\","/");

Я предполагаю, что вы используете VB.NET, поскольку вы не включили точку с запятой, не избежали обратной косой черты и из-за использования используемого метода замены.

4 голосов
/ 28 февраля 2010

\ необходимо экранировать, добавив к нему префикс \ или превратив полную строку в собственную строку, добавив к ней префикс @. Кроме того, myString.replace не изменяет myString (строки являются неизменяемыми, т.е. не могут быть изменены), поэтому вам необходимо присвоить значение, чтобы увидеть результат.

Использование

string myNewString = myString.replace("\\","/")

или

string myNewString = mmyString.replace(@"\","/")

или

string myNewString = mmyString.replace('\\','/')
0 голосов
/ 28 февраля 2010

Вам нужно выйти из back slash (\) с extra back slash (\\), попробуйте это:

myString.replace("\\","/")
0 голосов
/ 28 февраля 2010

Вы можете избежать \:

myString.replace("\\","/")

Или используйте строковый литерал (C #):

myString.replace(@"\","/")

Или используйте перегрузку, которая использует char s:

myString.replace('\','/')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...