Существует файл с именем, скажем "somefile.txt". Существует маска
"????text.log". При натравливании маски на имя файла получается новое
имя файла "sometext.log". Ну или маска "v_*.txt" даст нам на выходе
"v_somefile.txt".
Вопросы
1. Такой механизм замечательно работает в том же фаре. Есть что-то
подобное в .net?
2. Как такое сделать с регулярными выражениями вместо маски файла?
Posted via RSDN NNTP Server 2.1 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Ромашка, Вы писали:
Р>Не дайте мне изобрести велосипед.
Р>1. Такой механизм замечательно работает в том же фаре. Есть что-то Р>подобное в .net? Р>2. Как такое сделать с регулярными выражениями вместо маски файла?
Ответный вопрос: "А зачем?"... Тебе это нафига? Вот если ты занят изобретением нового файлового менеджера, который составит конкуренцию фару и тотал коммандеру, то тогда оно конечно да, оно смысл имеет. Но насколько я помню твой предыдущий вопрос касался вещей в совсем другой области. Ты мастер-многостаночник? ))
Здравствуйте, Ромашка, Вы писали:
Р>Не дайте мне изобрести велосипед.
Р>Существует файл с именем, скажем "somefile.txt". Существует маска Р>"????text.log". При натравливании маски на имя файла получается новое Р>имя файла "sometext.log". Ну или маска "v_*.txt" даст нам на выходе Р>"v_somefile.txt".
Р>Вопросы Р>1. Такой механизм замечательно работает в том же фаре. Есть что-то Р>подобное в .net?
Да есть. Называется string.
Рискну предположить, что можно немножко поперебирать символы строки маски циклом, внутри которого условие проверяющее "?" или не вопрос. И пихающее в результат содержимое маски или оригинала по этому условию.
Действия по окончанию символов маски или строки вы не определили. Но в любом случае это просто ещё 1-2 if после цикла.
Р>2. Как такое сделать с регулярными выражениями вместо маски файла?
Конечно можно. Но поскольку в конечном итоге все сводиться к элементарному копированию части строки то надобность их использования стоит под большим вопросом.
03.11.2011 21:04, Здравствуйте, 11molniev : > Р>1. Такой механизм замечательно работает в том же фаре. Есть что-то > Р>подобное в .net? > Да есть. Называется string. > Рискну предположить, что можно немножко поперебирать символы строки
Ну просил же не дать мне изобрести свой велосипед.
> Р>2. Как такое сделать с регулярными выражениями вместо маски файла? > Конечно можно.
Как? Есть имя файла и регулярное выражение. Как мне используя только эти
две строки получить новое имя файла?
Posted via RSDN NNTP Server 2.1 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
03.11.2011 21:02, Здравствуйте, enCobalt : > Ответный вопрос: "А зачем?"... Тебе это нафига? Вот если ты занят > изобретением нового файлового менеджера, который составит конкуренцию > фару и тотал коммандеру, то тогда оно конечно да, оно смысл имеет. Но > насколько я помню твой предыдущий вопрос касался вещей в совсем другой > области. Ты мастер-многостаночник? ))
Ну вот какого уха тут за меня додумывают, а потом же сами над собой
насмехаться начинают? Все намного проще. Есть два набора входящих
файлов (две маски файлов) в утилите командной строки. Пользователь
должен иметь возможность задать каждому файлу из первого набора
соответствие одному файлу из второго набора. Кстати, это та же самая
задача, агрегировать данные и запихнуть их в веб-сервис SAP R3.
Posted via RSDN NNTP Server 2.1 beta
Всё, что нас не убивает, ещё горько об этом пожалеет.
Здравствуйте, Ромашка, Вы писали:
Р>Вопросы Р>1. Такой механизм замечательно работает в том же фаре. Есть что-то Р>подобное в .net? http://msdn.microsoft.com/en-us/library/ms143316.aspx вроде так и работает. хотя я не пробовал.
Р>2. Как такое сделать с регулярными выражениями вместо маски файла?
тока ручками, по-другому не вижу как.
Здравствуйте, Ромашка, Вы писали:
Р>Существует файл с именем, скажем "somefile.txt". Существует маска Р>"????text.log". При натравливании маски на имя файла получается новое Р>имя файла "sometext.log". Ну или маска "v_*.txt" даст нам на выходе Р>"v_somefile.txt".
Р>Вопросы Р>1. Такой механизм замечательно работает в том же фаре. Есть что-то Р>подобное в .net?
static string ReplaceMask(string input, string mask)
{
return Regex.Replace(mask, @"[?]+|\*", m =>
{
if (Regex.IsMatch(m.Value, "[?]+"))
{
return input.Substring(0, m.Value.Length);
}
else if (Regex.IsMatch(m.Value, @"\*"))
{
return Path.GetFileNameWithoutExtension(input);
}
throw new InvalidOperationException();
});
}
Р>2. Как такое сделать с регулярными выражениями вместо маски файла?