有没有人知道如何修剪字符串/文件名但保留文件扩展名?
例如:
我希望 Picture1.jpg 成为 Pic.jpg 。
我一直在玩StrUtils
单位而无法找到解决方案。 LeftStr
是我想到的第一件事。
答案 0 :(得分:3)
将名称拆分为词干和扩展名。缩短词根。然后重新组合。像这样:
function ReduceFileName(const FileName: string; const MaxStemLength: Integer): string;
var
Ext: string;
StemLength: Integer;
begin
Assert(MaxStemLength > 0);
Ext := ExtractFileExt(FileName);
StemLength := Length(FileName) - Length(Ext);
if StemLength <= MaxStemLength then begin
Result := FileName;
exit;
end;
Result := Copy(FileName, 1, MaxStemLength) + Ext;
end;