Extract file extension: Difference between revisions

→‎{{header|C++}}: Shortened code a bit
(Add Plain English)
(→‎{{header|C++}}: Shortened code a bit)
Line 693:
=={{header|C++}}==
 
<syntaxhighlight lang="cpp">#include <stringiostream>
#include <algorithmfilesystem>
#include <iostream>
#include <vector>
#include <regex>
 
int main( ) {
std::string findExtension ( const std::string & filename ) {
for (std::filesystem::path file : { "picture.jpg",
auto position = filename.find_last_of ( '.' ) ;
std::vector<std::string> filenames {"picture.jpg" , "http://mywebsite.com/picture/image.png" ,
if ( position == std::string::npos )
"myuniquefile.longextension",
return "" ;
"IAmAFileWithoutExtension",
else {
"/path/to.my/file",
std::string extension ( filename.substr( position + 1 ) ) ;
"file.odd_one",
if (std::regex_search (extension, std::regex("[^A-Za-z0-9]") ))
return "thisismine." ;}) {
std::cout << filenames[i]file << " has extension : " << extensions[i]file.extension() << " !\n" ;
else
else {}
return extension ;
}</syntaxhighlight>
}
}
 
int main( ) {
std::vector<std::string> filenames {"picture.jpg" , "http://mywebsite.com/picture/image.png" ,
"myuniquefile.longextension" , "IAmAFileWithoutExtension" , "/path/to.my/file" ,
"file.odd_one", "thisismine." } ;
std::vector<std::string> extensions( filenames.size( ) ) ;
std::transform( filenames.begin( ) , filenames.end( ) , extensions.begin( ) , findExtension ) ;
for ( int i = 0 ; i < filenames.size( ) ; i++ )
std::cout << filenames[i] << " has extension : " << extensions[i] << " !\n" ;
return 0 ;
}
</syntaxhighlight>
{{out}}
<pre>picture.jpg has extension : jpg !
Line 732 ⟶ 716:
thisismine. has extension : !
</pre>
 
 
=={{header|Clojure}}==
11

edits