File extension is in extensions list: Difference between revisions

Line 963:
MyData_v1.0.tar.bz2 - True
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>
 
7,820

edits