develooper Front page | perl.perl6.users | Postings from April 2018

Tip: my string substitution notes

Thread Next
From:
ToddAndMargo
Date:
April 28, 2018 09:04
Subject:
Tip: my string substitution notes
Message ID:
91d7675e-75dc-8c81-fb34-b6e2890b7a48@zoho.com
Hi All,

jmerelo on the chat line asked me to place this on Stack Overflow.
I will once I figure it out.  In the mean time, here are my
notes on string subsitutions:

-T

Perl6: string subsitutions:

Reference: https://docstore.mik.ua/orelly/perl/cookbook/ch06_16.htm


Note s:g:i
   s for subsitute
   g for global
   i for case insensititive
   $ match at the end of the string


$ perl6 -e 'my $x="abc/afg/ahi"; $x ~~ s:g/a/r/; say $x'
rbc/rfg/rhi

$ perl6 -e 'my $x="abc/Afg/ahi"; $x ~~ s:g:i/a/r/; say $x'
rbc/rfg/rhi



# greedy pattern
s/<.*>//gs;                     # try to remove tags, very badly

# non-greedy pattern
s/<.*?>//gs;                    # try to remove tags, still rather badly


Perl 6 examples of greedy:

perl6 -e 'my $x="abc/def/ghi"; $x ~~ s:|.*"/"||; say $x'
ghi

$ perl6 -e 'my $x="abc/def/ghi"; $x ~~ s:g/.*"/"//; say $x'
ghi

$ perl6 -e 'my $x="abc/def/ghi"; $x ~~ s/.*"/"//; say $x'
ghi

$ perl6 -e 'my $x="abc/def/ghi"; $x ~~ s/.*\///; say $x'
ghi


spaces:
$ perl6 -e 'my $x="abc  ghi"; $x ~~ s/.*abc"  "//; say $x'
ghi


Replace a tab and a line feed with a space:
$Clipboard ~~ s:global/ "\t" / /;
$Clipboard ~~ s:global/ "\n" / /;


Remove leading and trailing spaces:

perl6 -e 'my $x="    State : abc     "; $x ~~ s/.*?" : "//; $x ~~ s/" 
".*//; say "<$x>";'
<abc>

my $x="    State : abc     "; $x = $x.subst(/.*?" : "/, "").subst(/ " "+ 
/,""); say "<$x>";
<abc>


Remove the last letter:
$ perl6 -e 'my $x="a b c d "; $x = chop( $x ); say "<$x>";'
<a b c d>

$ perl6 -e 'my $x="a b c d "; $x ~~ s/" "$//; say "<$x>";'
<a b c d>
Note "$" means to match at the end of the string


Multiple of a single test (if $Terminal = xterm OR $Terminal = linux):
if $Terminal ~~ /xterm || linux/

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Computers are like air conditioners.
They malfunction when you open windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About