Peña, Botp
5/9/2008 3:30:00 AM
From: globalrev [mailto:skanemupp@yahoo.se]=20
# i want to replaxe the pattrn consonant o consonant, ie hoh -> h, dad -
# > d etc.
# so i have to check that the letter after the letter i am at is o and
# the next one is equal to the one i am at.
hi globalrev,
there are many ways.
best if you can play in irb,
"hoh" =3D~ /(.)o\1/
#=3D> 0
"testhoh" =3D~ /(.)o\1/
#=3D> 4
$1
#=3D> "h"
if "testhoh".match(/(.)o\1/)
"match!"
else
"sorry"
end
#=3D> "match!"
"qwxoxtyasdfzozghj".gsub(/(.)o\1/) do |m|
p [m,$1,$~.pre_match,$~.post_match,$~.captures]
end
["xox", "x", "qw", "tyasdfzozghj", ["x"]]
["zoz", "z", "qwxoxtyasdf", "ghj", ["z"]]
#=3D> "qwtyasdfghj"
"qwxoxtyasdfzozghj".gsub(/(.)o\1/) do |m|
$1
end
#=3D> "qwxtyasdfzghj"
"qwxoxtyasdfzozghj".gsub(/(.)o\1/) do |m|
"<#$1>"
end
#=3D> "qw<x>tyasdf<z>ghj"
"qwxoxtyasdfzozghj".gsub(/(.)o\1/){"<#$1>"}
#=3D> "qw<x>tyasdf<z>ghj"
your next task now is to determine whether a certain char is a consonant =
regardless of case.
kind regards -botp