#c#-4.0
#c #-4.0
Вопрос:
У меня есть несколько путей, например, в памяти (содержащихся в ArrayList):
C:Program FilesProductfile.xml
Что я хочу сделать, так это удалить ‘C:Program Файлы’ из пути, так что просто ‘Productfile.xml ‘. Я знаю, что мог бы сделать это, просто заменив ‘C:Program Файлы «с помощью», но проблема возникает, когда у меня есть пути из локализованной среды, например, немецкого, где путь становится:
C:ProgrammeProductfile.xml
Есть предложения о том, как это сделать?
Простым английским языком я хочу удалить все, что находится до второго », включая его.
Спасибо.
Комментарии:
1. Почему -1, я думаю, мое объяснение / вопрос довольно ясны???
2. Я не ответил -1 на ваш вопрос. Кстати, вы последовали моему предложению выше?
3. Я использовал решение Гейба, приведенное ниже, я всегда очень боялся использования регулярных выражений 😉
Ответ №1:
Если вы хотите использовать все после второй обратной косой черты, используйте это:
path.Substring(path.IndexOf('\', path.IndexOf('\') 1) 1)
Если все, что вы хотите сделать, это убрать все после предпоследней обратной косой черты, используйте это:
path.Substring(path.LastIndexOf('\', path.LastIndexOf('\') - 1) 1)
Ответ №2:
У меня нет Visual Studio на этом компьютере, поэтому я не могу проверить, но это должно быть что-то в этом роде:
myString.Substring(myString.IndexOf('\', myString.IndexOf('\')))
Возможно, вам потребуется добавить » 1″ после этого второго вызова indexOf, чтобы заставить его выполнять поиск в нужном месте, хотя