Talk:Extract file extension
a new contributor
Hi, I was a quiet reader but decided to contribute now. That is my first every wiki-like article so please excuse my mistakes and kindly tell how to improve. :)
- Hi, First thanks for taking the trouble to lurk and try and get the hang of things before making your first post. It is appreciated :-)
- I re-wrote bits for style and trying to be a little more exacting in the definition. I also added two more tests that fit the revised definition, but the existing C# might need revising and extra output. I also stuck nowiki tags around the example link.
- What do you think? --Paddy3118 (talk) 10:22, 4 May 2015 (UTC)
Thank you Paddy. I did not think about your test cases. I believe the underscore one is legal according to this site: http://filext.com/faq/file_extension_information.php Yes, you are right. My C# code needs to be updated. I will try to do that, when I find time.
definition of a legal file extension
If the file extension appears after the last period (using the first example), then the file extension should be jpg, and not .jpg (just a nitpick). Also note that .jpg contains a non-alphanumeric character, namely the period. In various documents that I read, the file extension is to the right of the last period (with other caveats, of course), and does not include the period. But other sites do include the period, so ... -- Gerard Schildberger (talk) 23:26, 4 May 2015 (UTC)
Also note that the legality of what is a legal file extension depends on the operating system. Windows/95 for instance, greatly expanded what is legal (including the use of additional characters, including a blank, as well as lowercase letters). And I can't vouch for the various flavors of *NIX. -- Gerard Schildberger (talk) 23:26, 4 May 2015 (UTC)
Also, I would use the word digits (or better yet, decimal digits) instead of numbers when defining a legal file extension (for this Rosetta Code task). -- Gerard Schildberger (talk) 23:42, 4 May 2015 (UTC)
It wouldn't hurt to define what a letter is; I assume you meant lower and uppercase versions of the Latin (Roman) alphabet. If so, specifically mention them. I don't feel comfortable assuming what was stated. -- Gerard Schildberger (talk) 23:42, 4 May 2015 (UTC)
Numerals is a better word to use instead of numbers in this case. -- Gerard Schildberger (talk) 03:25, 5 May 2015 (UTC)
(pi) is a number, so is +1.5 and -6. -- Gerard Schildberger (talk) 23:42, 4 May 2015 (UTC)
The 2nd part of the definition of a filename extension states that:
* consists of a period, followed by one or more ASCII letters or digits (A-Z, a-z, 0-9)
I would argue that the filename
fits that requirement as the numeral 5 follows the period.
Therefore, the following would be more apt:
* consists of a period, followed solely by one or more ASCII letters or digits (A-Z, a-z, 0-9)
which would exclude any extraneous characters.
And, yes, I know that one of the test cases (examples) shows this, but examples shouldn't be used as definitions. -- Gerard Schildberger (talk) 17:40, 31 August 2016 (UTC)
Another case I find useful is "libglfw.so.3.1" => "so", and always returning lowercase results. Just sayin Pete Lomax (talk) 12:18, 9 September 2016 (UTC)
In Unix and Unix-like environments
is a hidden file or directory and not a file extension.