|
Как обрезать строку, чтобы получилось вот так... | ☑ | ||
---|---|---|---|---|
0
IBTM
27.12.12
✎
14:08
|
С наступающим!
Имею строку текста (реквизит "ПутьКФайлу": C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx Мне нужно обрезать таким образом что бы остался только "Нужный фрагмент". Причем, все что до "Нужный фрагмент" может меняться. Ни одной внятной функция для строки это провернуть не получится. Может есть другой путь? Через комбинацию функций... |
|||
1
Maxus43
27.12.12
✎
14:09
|
// Выделяет из полного пути к файлу его имя (набор символов после последней \).
// // Параметры // ПутьКФайлу – Строка, содержащая имя файла, неважно с именем каталога или без. // // Возвращаемое значение: // Строка – расширение файла. // Функция ПолучитьИмяФайлаИзПолногоПути(Знач ПутьКФайлу) Экспорт ИмяФайла = ПолучитьЧастьСтрокиОтделеннойСимволом(ПутьКФайлу, "\"); Возврат ИмяФайла; КонецФункции |
|||
2
Maxus43
27.12.12
✎
14:09
|
внезапно?
|
|||
3
НЕА123
27.12.12
✎
14:10
|
СтрЗаменить + Символы.ПС + последняя строка = "Нужный фрагмент"
|
|||
4
Maxus43
27.12.12
✎
14:10
|
Функция ПолучитьРасширениеФайла(Знач ИмяФайла) Экспорт
Расширение = ПолучитьЧастьСтрокиОтделеннойСимволом(ИмяФайла, "."); Возврат Расширение; КонецФункции и т.д. куча такой мелкой фигни в типовых, крути-верти |
|||
5
samozvanec
27.12.12
✎
14:10
|
(2) гыгыгы
// Выделяет из полного пути к файлу его имя (набор символов после последней \). // // Возвращаемое значение: // Строка – расширение файла. |
|||
6
le_
27.12.12
✎
14:12
|
Ф = Новый Файл("C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx");
|
|||
7
НЕА123
27.12.12
✎
14:13
|
(0)
по честному - так. ВыбФайл = Новый Файл(ВыбранноеИмяФайла); и делай что надо. |
|||
8
Maxus43
27.12.12
✎
14:15
|
(6)(7) конечно элегантнее, но не всегда прокатит, если доступа к нему нет например
|
|||
9
cw014
27.12.12
✎
14:17
|
(8) Даже если файл не существует - "Ф" будет создан и обработаны имена файлов
|
|||
10
le_
27.12.12
✎
14:17
|
(8) Файла может вообще не существовать. И Когда файл существует, но нет прав, все равно отрабатывает.
|
|||
11
acsent
27.12.12
✎
14:19
|
(8) объект файл никакого отношения к конкретному файлу не имеет
|
|||
12
acsent
27.12.12
✎
14:19
|
пока не начнешь атрибуты файла запрашивать
|
|||
13
cw014
27.12.12
✎
14:19
|
(8) Вот видишь - век живи - век учись
|
|||
14
Maxus43
27.12.12
✎
14:21
|
заклевали то сразу) я из типовой примеры привёл :)(
|
|||
15
Vladal
27.12.12
✎
14:29
|
C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx - как получил? Диалогом открытия/сохранения файлов? Тогда этот диалог имеет метод ИмяФайла.
|
|||
16
IBTM
27.12.12
✎
14:30
|
Спасибо, вам... как всегда уже придумали).
Про Ф = Новый Файл, видел, спс. Я сделал вот так: СтрЗаменить(ИмяФайла,".xlsx","") нормально? |
|||
17
IBTM
27.12.12
✎
14:30
|
как вариант...
|
|||
18
IBTM
27.12.12
✎
14:34
|
(15) нет, учту. Вообще с файлами мало работал.
|
|||
19
kosts
27.12.12
✎
14:41
|
(16) >СтрЗаменить(ИмяФайла,".xlsx","") нормально?
Не |
|||
20
bezgudroman
27.12.12
✎
14:44
|
вПолнИмяФайла = "C:\Documents and Settings\Рабочий стол\Нужный фрагмент.xlsx";
вСпис = глСтрокаВСписок(вПолнИмяФайла,"\"); вИмяФайлаСРасш = вСпис.ПолучитьЗначение(вспис.РазмерСписка()); // есть дятлы, которые в иени файла ставят точки типа: "plugin.export.php" или "NokiaX2-02.oceanblue.jpeg" //вФайлИмя = глСлеваОт(вИмяФайлаСРасш,"."); //вФайлРаш = глСправаОт(вИмяФайлаСРасш,"."); вФайлИмя = ""; вФайлРаш = ""; вЧастиИмениФайла = глСтрокаВСписок(вИмяФайлаСРасш,"."); СЦ = 0; вЧастей = вЧастиИмениФайла.РазмерСписка(); Для СЦ = 1 По вЧастей Цикл Если СЦ <> вЧастей Тогда вФайлИмя = вФайлИмя + вЧастиИмениФайла.ПолучитьЗначение(СЦ); else вФайлРаш = вЧастиИмениФайла.ПолучитьЗначение(СЦ); КонецЕсли; КонецЦикла; |
|||
21
bezgudroman
27.12.12
✎
14:46
|
Если СЦ <> вЧастей Тогда
вФайлИмя = глДобавитьКСтроке(вФайлИмя,вЧастиИмениФайла.ПолучитьЗначение(СЦ),"."); else вФайлРаш = вЧастиИмениФайла.ПолучитьЗначение(СЦ); КонецЕсли; |
|||
22
IBTM
27.12.12
✎
14:52
|
(19) можно узнать, почуму?
|
|||
23
kosts
27.12.12
✎
14:55
|
(22) Не универсально.
У Excel еще есть тип xls. А вдруг позже попросят обрабатывать и mxl или опен офис. Придется больше переделывать. |
|||
24
IBTM
27.12.12
✎
15:12
|
(23) моё только под xlsx работает)))
|
|||
25
Паучог
27.12.12
✎
15:17
|
(0)
МассивПодСтрок = ОбщегоНазначения.РазложитьСтрокуВМассивПодСтрок(ПутьКФайлу,"\"); ИмяФайла = МассивПодСтрок[МассивПодСтрок.ВГраница()]; |
|||
26
НЕА123
27.12.12
✎
16:16
|
файл = Новый Файл("ftp://10.10.168.19/Documents/АБВГД.pdf");
в отладчике файл Файл Файл Имя "file" Строка ИмяБезРасширения "file" Строка ПолноеИмя "file://file://ftp://10.10.168.19/Documents/АБВГД.pdf" Строка Путь "" Строка Расширение "" Строка |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |