Extract file extension: Difference between revisions

Added solution for Action!
(Added solution for Action!)
Line 79:
document.txt_backup ->
/etc/pam.d/login ->
</pre>
 
=={{header|Action!}}==
{{libheader|Action! Tool Kit}}
<lang Action!>INCLUDE "D2:CHARTEST.ACT" ;from the Action! Tool Kit
 
PROC FileExt(CHAR ARRAY path,ext)
BYTE pos,c
 
pos=path(0)
ext(0)=0
WHILE pos>0
DO
c=path(pos)
IF c='. THEN
EXIT
ELSEIF IsDigit(c)=0 AND IsAlpha(c)=0 THEN
RETURN
FI
pos==-1
OD
IF pos=0 THEN
RETURN
FI
SCopyS(ext,path,pos,path(0))
RETURN
 
PROC Test(CHAR ARRAY path)
CHAR ARRAY ext(10)
 
FileExt(path,ext)
PrintF("""%S"":%E""%S""%E%E",path,ext)
RETURN
 
PROC Main()
Put(125) PutE() ;clear the screen
 
Test("http://example.com/download.tar.gz")
Test("CharacterModel.3DS")
Test(".desktop")
Test("document")
Test("document.txt_backup")
Test("/etc/pam.d/login")
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Extract_file_extension.png Screenshot from Atari 8-bit computer]
<pre>
"http://example.com/download.tar.gz":
".gz"
 
"CharacterModel.3DS":
".3DS"
 
".desktop":
".desktop"
 
"document":
""
 
"document.txt_backup":
""
 
"/etc/pam.d/login":
""
</pre>
 
Anonymous user