#c# #regex #directory
#c# #регулярное выражение #каталог
Вопрос:
Мне нужно преобразовать этот тип списка в список строк:
var fileName = (new DirectoryInfo(filePath)).GetFiles(".", SearchOption.AllDirectories).Where(a => Regex.IsMatch(a.Name, "^[^*]*" logSelected ".jpg$")).ToList();
кто-нибудь знает, как это делается?
Ответ №1:
var fileName = (new DirectoryInfo(filePath))
.GetFiles(".", SearchOption.AllDirectories)
.Where(a => Regex.IsMatch(a.Name, "^[^*]*" logSelected ".jpg$"))
.Select(a => a.Name)
.ToList();
Или измените a.Name
в методе выбора нужное вам свойство.
Ответ №2:
попробуйте добавить .Select(fi => fi.Name)
List<string> fileNames = (new DirectoryInfo(filePath)).GetFiles(".", SearchOption.AllDirectories)
.Where(a => Regex.IsMatch(a.Name, "^[^*]*" logSelected ".jpg$"))
.Select(fi => fi.Name)
.ToList();
Ответ №3:
var fileName = (new DirectoryInfo(filePath)).GetFiles(".", SearchOption.AllDirectories)
.Where(a => Regex.IsMatch(a.Name, "^[^]" logSelected ".jpg$"))
.Select(fi=>fi.FullName)
.ToList();
Ответ №4:
var fileName = new DirectoryInfo(filePath)
.GetFiles(".", SearchOption.AllDirectories)
.Where(a => Regex.IsMatch(a.Name, "^[^*]*" logSelected ".jpg$"))
.Select(x => x.Name)
.ToList();