Hi Guys!
Thank you so much, this worked fine!
Regards, Hans
Hans Gruber wrote:
Hi Squeak Fans!
I have a short question regarding regular expressions in Squeak.
I have the following problem:
I have a fileName and I want to cut off its file extension (.jpg, .png etc.). To do this efficiently I wanted to use regular expressions with lookaround.
Using regular expressions may be convenient, it sure as hell isn't efficient. Much easier to use, e.g.,
fileName copyUpToLast: $.
As for efficiency:
[1 to: 10000 do:[:i| 'filename.jpg' matchesRegex: '.+(=?.(jpg|jpeg|png))' ]] timeToRun. => 2222 msecs
[1 to: 10000 do:[:i| 'filename.jpg' copyUpToLast: $. ]] timeToRun. => 30 msecs
So using regexp's is about 80x slower.
Cheers,
- Andreas
So let's assume the following:
| fileName | fileName := 'test.jpg'.
fileName matchesRegex: '.+(=?.(jpg|jpeg|png))'
I thought there is a possibility of returning the string without file extension through lookaround.
Do you have any hints for me?
Thanks guys!
Regards, Hans ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
________________________________________________________________________ Kostenlos tippen, täglich 1 Million gewinnen: zum WEB.DE MillionenKlick! http://produkte.web.de/go/08/
Hans Gruber wrote:
Hi Guys!
Thank you so much, this worked fine!
You're welcome. Do yourself a favor and browse around a little in the various String protocols. There's a *ton* of useful stuff like allButFirst:, allButLast:, copyUpTo:, copyUpToLast:, copyAfter:, copyAfterLast: etc. So for example:
baseName := fileName allButLast: 4. "strips off .foo if you know it's 3 chars but copyUpToLast: is safer here" extension := fileName copyAfterLast: $. "gets the .extension"
etc.
Cheers, - Andreas
Regards, Hans
Hans Gruber wrote:
Hi Squeak Fans!
I have a short question regarding regular expressions in Squeak.
I have the following problem:
I have a fileName and I want to cut off its file extension (.jpg, .png etc.). To do this efficiently I wanted to use regular expressions with lookaround.
Using regular expressions may be convenient, it sure as hell isn't efficient. Much easier to use, e.g.,
fileName copyUpToLast: $.
As for efficiency:
[1 to: 10000 do:[:i| 'filename.jpg' matchesRegex: '.+(=?.(jpg|jpeg|png))' ]] timeToRun. => 2222 msecs
[1 to: 10000 do:[:i| 'filename.jpg' copyUpToLast: $. ]] timeToRun. => 30 msecs
So using regexp's is about 80x slower.
Cheers,
- Andreas
So let's assume the following:
| fileName | fileName := 'test.jpg'.
fileName matchesRegex: '.+(=?.(jpg|jpeg|png))'
I thought there is a possibility of returning the string without file extension through lookaround.
Do you have any hints for me?
Thanks guys!
Regards, Hans ______________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de
Beginners mailing list Beginners@lists.squeakfoundation.org http://lists.squeakfoundation.org/mailman/listinfo/beginners
Kostenlos tippen, täglich 1 Million gewinnen: zum WEB.DE MillionenKlick! http://produkte.web.de/go/08/
beginners@lists.squeakfoundation.org