Нераспознанная escape-последовательность при попытке заменить пустую строку

1
string serverPath = Regex.Replace(mytext, "\Api", "", RegexOptions.IgnoreCase);

mytext=D:\Trunck\Api\web\Resources\images\event-images\e1ae04a2-e63f-4831-a5ee-2f0d2713f8a2.png

Как я могу заменить \api пустой строкой или мне нужен окончательный mytext как D:\Trunck\web\Resources\images\event-images\e1ae04a2-e63f-4831-a5ee-2f0d2713f8a2.png

Когда я использую над regex, он говорит Unrecognized escape sequence Любая помощь будет высоко оценена.

Теги:

1 ответ

5
Лучший ответ

Так как \ является escape-символом в С#, вам также нужно избегать его. Вы также должны избегать обратной косой черты, поскольку она имеет особое значение и в регулярном выражении.

"\\\\Api"

(так что "сбежать в С#" обратная косая черта, обратный слэш "escape in regex"...)

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

@"\\Api"

Ещё вопросы

Сообщество Overcoder
Наверх
Меню