Regular expressions are the vice-grips in the Perl programmer's toolbox. They're important tools. They're useful for just about everything. And overusing them can get you into sticky situations.
Here's code to transform 'artist_name-title_with_other(chars)' into 'Artist Name - Title With Other Chars'.
my $song = q{xecutioners-you_cant_scratch_(skit)}; # Split up artist and title of song my ($artist, $title) = split(/-/, $song, 2); # Turn the artist and title into human text, then stick # them back together with ' - '. my $new_song = humanize_text($artist) . ' - ' . humanize_text($title); print $new_song, "\n"; # Runs a piping operation. From back to front, here's what # happens: # 1. We split 'something_like(this)' into 'something', # 'like', 'this' # 2. We capitalize the first letter of every word # 3. We stick the list back together delimited with spaces sub humanize_text { return join(' ', map(ucfirst($_), split(/[^a-zA-Z]+/, $_[0])) ); }
stephen
In reply to Re: a task for a regular expression expert
by stephen
in thread a task for a regular expression expert
by emilford
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |