The important thing is that there is no NEED to write a new method to split a Smalltalk identifier into pieces, because there already *IS* such a method. Only write a new method if the existing one doesn't actually work for you. For example, what do you want to be done with strings or symbols that contain non-alphanumeric characters, like #== ? What do you want done with underscores and digits in strings like 'INTL_61_123_456'? On Wed, 26 Oct 2022 at 22:41, Richard O'Keefe <raoknz@gmail.com> wrote:
What's wrong with
$- join: (s cutCamelCase collect: [ :each | each asLowercase])
where s is the string you want to transform? I'm sure you're aware of the proverb: You have a problem and you decide to solve it with a regular expression. Now you have TWO problems.
MYWeirdName and MyWeirdName both map to my-weird-name, but perhaps you are happy with that.
On Sat, 22 Oct 2022 at 21:57, Siemen Baader <siemenbaader@gmail.com> wrote:
Hi,
I'm looking for an elegant way to convert class names with optional namespace prefixes to names for custom html elements.
MYCustomElement and CustomElement
to <my-custom-element> and <custom-element>
There must be an elegant way to do it with regex or inject, but I'm embarrassed to say I can't get my head around it. I can get it to match the regex '((:isUppercase:+)*)((:isUppercase::isLowercase:+)*)', (if I recall correctly) but can't get a collection of the individual elements 'MY' 'Custom" 'Element' to lowercase and join.
Thanks for any hints!
cheers Siemen