laziness, impatience, and hubris | |
PerlMonks |
Re: How to reverse a (Unicode) stringby Jim (Curate) |
on Jan 09, 2011 at 22:50 UTC ( [id://881385]=note: print w/replies, xml ) | Need Help?? |
Here's a way to reverse a Unicode string using the regular expression character class \X to match Unicode extended grapheme clusters:
Here's a demonstration using Vietnamese (tiếng Việt) words: #!perl use strict; use warnings; use utf8; binmode STDOUT, ':encoding(UTF-8)'; my $Moonshine = "Rượu đế"; my $enihsnooM = join '', reverse $Moonshine =~ m/\X/g; print "$Moonshine\n"; print "$enihsnooM\n"; __END__ Rượu đế ếđ uợưR LATIN CAPITAL LETTER R LATIN SMALL LETTER U COMBINING HORN LATIN SMALL LETTER O COMBINING HORN COMBINING DOT BELOW LATIN SMALL LETTER U SPACE LATIN SMALL LETTER D WITH STROKE LATIN SMALL LETTER E COMBINING CIRCUMFLEX ACCENT COMBINING ACUTE ACCENT [I was forced to use <pre> tags instead of <code> tags here to display the actual Vietnamese characters rather than their HTML character entities.]
In Section
Tutorials
|
|