0

母音と子音を文字列から分離してフィルターを作成するにはどうすればよいですか?

子音と母音を他の文字に置き換えるにはどうすればよいですか

私はこれを思いついた

(\A[^aeio]{1,3})(\w*)/

^aeioオンラインで検索しているときに、子音を取得するためにのフィルタリング部分を超えてどのように機能するか正確にはわかりません。

4

3 に答える 3

3

String.trはテキストの変換に適しています:

str = "while searching online, but not sure exactly how it works past the filtering part of ^aeio, to get consonants."
p str.tr('aeiou', '')
#=> "whl srchng nln, bt nt sr xctly hw t wrks pst th fltrng prt f ^, t gt cnsnnts."
p str.tr('^aeiou', '') # the ^ negates
#=>"ieeaioieuoueeaoioaeieiaoaeiooeooa"
p str.tr('aeiou', 'eioua')
#=>"wholi sierchong unloni, bat nut sari ixectly huw ot wurks pest thi foltirong pert uf ^eiou, tu git cunsunents."
于 2013-05-25T18:35:55.690 に答える
2

このように分けるということですか?

1.9.3-p327 > s = "abcqwertyaeiouvbnmi"
 => "abcqwertyaeiouvbnmi"
1.9.3-p327 > s.split(/([aeiou]+)/)
 => ["", "a", "bcqw", "e", "rty", "aeiou", "vbnm", "i"]

その場合は、結果の配列をループして文字を置き換えます。

于 2013-05-25T18:24:54.840 に答える
1
s = "iamagoodboy"
v,c = s.chars.partition{|i| ["a","e","i","o","u"].include?(i)}
p v #=> ["i", "a", "a", "o", "o", "o"]
p c #=> ["m", "g", "d", "b", "y"]

vこれで、必要に応じて繰り返すことができcます。

于 2013-05-25T18:29:15.477 に答える