Как обрезать строку (содержащую путь), не касаясь имени файла (сохранить последнюю папку, имя файла и букву диска)?
Привет, я ищу способ обрезать путь, чтобы он соответствовал указанной ширине.
Я уже искал SO и нашел это: Обрезать строку, чтобы она соответствовала заданной ширине в пикселях
Но это добавление... в конце строки. Я хотел бы иметь аналогичную функцию, но нужно сохранить начало и конец.
Например, у меня есть этот путь (строка):
H:\Informatique\Personnalisation\Icones\__\Crystal GT PNG Pack\Applications\licq.png
И он должен соответствовать ширине div следующим образом:
H:\Informatique\...PNG Pack\Applications\licq.png
Еще один пример:
D:\A___VERY___________LONG________PATH____________\myfile.png
Будет сокращено до:
D:\A___VERY___________LONG________PA...\myfile.png
Последний пример:
D:\A___VERY___________LONG________PATH____________\and-a-sub-solder\myfile.png
Будет сокращено до:
D:\A___VERY________...\and-a-sub-solder\myfile.png
Ограничение:
- Требуется приводная часть (H:)
- Требуется имя файла и расширение (licq.png)
- Если есть несколько папок, последняя папка не должна быть усечена, за исключением случаев, когда все уже усечено, и это единственный способ сделать строку короче.
- Если имя файла слишком длинное, обрежьте его посередине.
Пример длинного имени файла:
D:\my____file___________________________name____is___too____________long.png
Будет сокращено до:
D:\my____file_________..._is___too____________long.png
Я вижу, что Windows и Apple делают это хорошо... но я не могу найти ни одного сценария, близкого к этому.
Любая ссылка с подобным скриптом, чтобы я мог попробовать настроить его? Или кто-нибудь, кто хочет помочь мне с этим? :)
Большое спасибо