テキストファイルの単語を逆にしたい:
私の入力が次の場合:
Hello World
私の出力は次のようになります。
World Hello
私はこれを試しました:
File.open('teste.txt').each_line do |line|
print line.reverse.gsub(/\n/,"")
end
しかし、私は文字を逆にしました。
テキストファイルの単語を逆にしたい:
私の入力が次の場合:
Hello World
私の出力は次のようになります。
World Hello
私はこれを試しました:
File.open('teste.txt').each_line do |line|
print line.reverse.gsub(/\n/,"")
end
しかし、私は文字を逆にしました。
"Hello World".split.reverse.join(" ")
=> "World Hello"
デフォルトの区切り文字である空白を使用して、文字列を配列に分割します。次に、配列を反転し、空白も使用して配列内の文字列を連結します。
ソリューションは次のようになります。
File.open("test.txt").each_line do |line|
puts line.split.reverse.join(" ")
end
puts
出力の後に改行を追加しますが、そうではありprint
ません。split
は単語の配列に分割するときに、各行の元の改行を破棄するため、これは必須です。
文字列を単語に分解し、それを逆にします。
"Hello World".split.reverse.join(' ') # => "World Hello"
文字列をスペースで分割し、逆にしてから結合します。
そのようにするためのメソッドを作成できます:
def reverse_words(string)
return string.split(" ").reverse.join(" ")
end
その後、そのメソッドを次のように呼び出します。
print reverse_words("Hello World")
または、戻り値に文字列を設定します。
reversed_string = reverseWords("Hello World")