Вопрос о манипулировании строками - PullRequest
0 голосов
/ 12 июля 2011

Если у меня есть эта строка:

D://MyDocuments/Pictures/Pic1.jpg

и я хочу извлечь ".jpg" из этой строки, т.е. я хочу (точка) (расширение)

Как мне это сделать? Пожалуйста помоги.

Ответы [ 6 ]

5 голосов
/ 12 июля 2011

Взгляните на использование Path.GetExtension Method

Расширение указанного пути (включая точку ".") Или null или String.Empty. Если путь равен нулю, GetExtension возвращает ноль. Если путь не имеет информации о расширении, GetExtension возвращает String.Empty.

3 голосов
/ 12 июля 2011
var extension = Path.GetExtension(Server.MapPath(@"D://MyDocuments/Pictures/Pic1.jpg"));
3 голосов
/ 12 июля 2011

Это можно сделать с помощью подстроки, но лучше, если вы сделаете это с Path.GetExtension

 string fileName = @"C:\mydir.old\myfile.ext";
 string path = @"C:\mydir.old\";
 string extension;

 extension = Path.GetExtension(fileName);
3 голосов
/ 12 июля 2011

вы можете использовать класс Path для получения информации о файле.

 Path.GetExtension("youpath")
2 голосов
/ 12 июля 2011

Для имен файлов посмотрите на System.IO.Path статические члены . Там вы найдете множество методов.

Если вы хотите придерживаться манипуляции со строками, было бы неплохо что-то вроде этого:

string wholeName = @"D:\MyDocuments\Pictures\Pic1.jpg";
int dotPosition = wholeName.LastIndexOf('.'); // find last dot
string ext = wholeName.Substring(dotPosition); // get out the extenstion
1 голос
/ 12 июля 2011

Простое использование

string path = "D://MyDocuments/Pictures/Pic1.jpg";
            string extension = System.IO.Path.GetExtension(path);
...