File extension is in extensions list: Difference between revisions
Content added Content deleted
Line 963: | Line 963: | ||
MyData_v1.0.tar.bz2 - True |
MyData_v1.0.tar.bz2 - True |
||
MyData_v1.0.bz2 - False |
MyData_v1.0.bz2 - False |
||
</pre> |
|||
=={{header|Phix}}== |
|||
<lang Phix>constant extensions = lower({"zip","rar","7z","gz","archive","A##","tar.bz2"}) |
|||
global function get_known_extension(string filename) |
|||
filename = get_file_name(filename) |
|||
for i=1 to length(filename) do |
|||
if filename[i]='.' then |
|||
string extension = lower(filename[i+1..$]) |
|||
if find(extension,extensions) then |
|||
return extension |
|||
end if |
|||
end if |
|||
end for |
|||
return "" |
|||
end function |
|||
constant tests = {"MyData.a##", |
|||
"MyData.tar.Gz", |
|||
"MyData.gzip", |
|||
"MyData.7z.backup", |
|||
"MyData...", |
|||
"MyData", |
|||
"MyData_v1.0.tar.bz2", |
|||
"MyData_v1.0.bz2"} |
|||
for i=1 to length(tests) do |
|||
string ti = tests[i], |
|||
ext = get_known_extension(ti) |
|||
printf(1,"%-20s %-10s %s\n",{ti,ext,{"true","false"}[2-(find(ext,extensions)!=0)]}) |
|||
end for</lang> |
|||
{{out}} |
|||
<pre> |
|||
MyData.a## a## true |
|||
MyData.tar.Gz gz true |
|||
MyData.gzip false |
|||
MyData.7z.backup false |
|||
MyData... false |
|||
MyData false |
|||
MyData_v1.0.tar.bz2 tar.bz2 true |
|||
MyData_v1.0.bz2 false |
|||
</pre> |
</pre> |
||