From: "Peña, Botp" Date: 2008-05-09T12:29:37+09:00 Subject: Re: how to do this regex substitution? From: globalrev [mailto:skanemupp@yahoo.se] # 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