String matching: Difference between revisions

Content added Content deleted
(added Fantom example)
m (→‎{{header|Retro}}: update for retro-11.0)
Line 731: Line 731:


=={{header|Retro}}==
=={{header|Retro}}==
<lang Retro>with strings'
<lang Retro>: startsWith? ( $1 $2 - f )
withLength &swap dip 0 swap ^strings'getSubset compare ;

: startsWith? ( $1 $2 - f )
dup getLength [ swap ] dip 0 swap getSubset compare ;


"abcdefghijkl" "abcde" startsWith?
"abcdefghijkl" "abcde" startsWith?
"abcdefghijkl" "bcd" startsWith?
"abcdefghijkl" "bcd" startsWith?


"abcdefghijkl" "bcd" search
"abcdefghijkl" "bcd" ^strings'search
"abcdefghijkl" "zmq" search
"abcdefghijkl" "zmq" ^strings'search


: endsWith? ( $1 $2 - f )
: endsWith? ( $1 $2 - f )
swap dup getLength + over getLength - compare ;
swap withLength + over getLength - compare ;


"abcdefghijkl" "ijkl" endsWith?
"abcdefghijkl" "ijkl" endsWith?