Extract file extension: Difference between revisions

Content added Content deleted
m (→‎{{header|C++}}: Fixed formatting and code output)
Line 1,385: Line 1,385:


=={{header|Java}}==
=={{header|Java}}==
<syntaxhighlight lang="java">public class Test {
<syntaxhighlight lang="java">
import java.io.File;
</syntaxhighlight>
public static void main(String[] args) {
<syntaxhighlight lang="java">
String[] filenames = { "http://example.com/download.tar.gz",
public static void main(String[] args) {
"CharacterModel.3DS",
String[] strings = {
".desktop",
"http://example.com/download.tar.gz",
"document",
"document.txt_backup",
"CharacterModel.3DS",
"/etc/pam.d/login"
".desktop",
};
"document",
"document.txt_backup",
"/etc/pam.d/login",
};
for (String string : strings)
System.out.println(extractExtension(string));
}


for (String filename : filenames) {
static String extractExtension(String string) {
String ext = "null";
/* we can use the 'File' class to extract the file-name */
File file = new File(string);
int idx = filename.lastIndexOf('.');
String filename = file.getName();
if (idx != -1) {
String tmp = filename.substring(idx);
int indexOf = filename.lastIndexOf('.');
if (indexOf != -1) {
if (tmp.matches("\\.[a-zA-Z0-9]+")) {
ext = tmp;
String extension = filename.substring(indexOf);
}
/* and use a regex to match only valid extensions */
if (extension.matches("\\.[A-Za-z\\d]+"))
}
System.out.println(filename + " -> " + ext);
return extension;
}
}
}
return "";
}</syntaxhighlight>
}
</syntaxhighlight>
{{Out}}
{{Out}}
<pre>
<pre>http://example.com/download.tar.gz -> .gz
.gz
CharacterModel.3DS -> .3DS
.3DS
.desktop -> .desktop
.desktop
document -> null

document.txt_backup -> null

/etc/pam.d/login -> null</pre>
</pre>


=={{header|javascript}}==
=={{header|javascript}}==