Загрузка файла C #: нет групп от reg ex? - PullRequest
1 голос
/ 06 октября 2010

этот код работал до утра, кто-нибудь может заметить мою ошибку?возможно, это действительно глупо, но это поставило меня в тупик!

Я использую форму для отправки файла (имя поля 'fileUpEx'), а затем я написал класс для его загрузки (как я уже говорил, он работал целую вечность) .... (если я напишу 'filepath' на страницу, это 'Test copy.pdf') Мой класс вернет 'no groups' !!!Очень странно, может кто-нибудь, пожалуйста, помогите?

string filepath = fileUpEx.PostedFile.FileName;
string pat = @"\\(?:.+)\\(.+)\.(.+)";
Regex r = new Regex(pat);
Match m = r.Match(filepath);
if (m.Groups[0].Captures.Count != 0)
{ 
   //blaa blaa blaa
}
else 
{
   return "no Groups";
}

Заранее спасибо, Vauneen

1 Ответ

0 голосов
/ 06 октября 2010

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

@"(?:\\.+\\)?(.+)\.(.+)"

В качестве альтернативы вы можете использовать методы, доступные в System.IO.Path:

string extension = Path.GetExtension(filePath);
string filename = Path.GetFilenameWithoutExtension(filePath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...