How to do this regex substitution?

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.

so
/qwrtpsdfghjklzxcvbnm/o/qwrtpsdfghjklzxcvbnm isnt true(and doesnt work
anyway).

From: globalrev [mailto:[email protected]]

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” =~ /(.)o\1/
#=> 0

“testhoh” =~ /(.)o\1/
#=> 4

$1
#=> “h”

if “testhoh”.match(/(.)o\1/)
“match!”
else
“sorry”
end
#=> “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”]]
#=> “qwtyasdfghj”

“qwxoxtyasdfzozghj”.gsub(/(.)o\1/) do |m|
$1
end
#=> “qwxtyasdfzghj”

“qwxoxtyasdfzozghj”.gsub(/(.)o\1/) do |m|
“<#$1>”
end
#=> “qwtyasdfghj”

“qwxoxtyasdfzozghj”.gsub(/(.)o\1/){"<#$1>"}
#=> “qwtyasdfghj”

your next task now is to determine whether a certain char is a consonant
regardless of case.

kind regards -botp

globalrev [email protected] writes:

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.

so
/qwrtpsdfghjklzxcvbnm/o/qwrtpsdfghjklzxcvbnm isnt true(and doesnt work
anyway).

You question is a bit confusing. You said you wanted to replace:

consonant o consonant

with:

consonant

Yet, one of your examples is dad, which doesn’t fit that pattern. Did
you mean “consonant vowel consonant”?

Either way, here is one possibility. I’ll leave “dad” as an exercise.

,----
| >> “hoh”.sub(/([qwrtpsdfghjklzxcvbnm])o\1/, ‘\1’)
| => “h”
`----

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs