我想颠倒文本文件的字样:
如果我输入的是:
Hello World
我的输出应该是:
World Hello
我试过了:
File.open('teste.txt').each_line do |line|
print line.reverse.gsub(/\n/,"")
end
但我把角色颠倒了。
答案 0 :(得分:8)
"Hello World".split.reverse.join(" ")
=> "World Hello"
它将字符串拆分为一个数组,其中空格是默认分隔符。然后它反转数组并使用空格连接数组中的字符串。
您的解决方案应如下所示:
File.open("test.txt").each_line do |line|
puts line.split.reverse.join(" ")
end
puts
在输出后附加换行符,而print
则没有。这是必要的,因为当split
将其拆分为单词数组时,{{1}}会丢弃每行上的原始换行符。
答案 1 :(得分:2)
将字符串分解为单词并将其反转。
"Hello World".split.reverse.join(' ') # => "World Hello"
答案 2 :(得分:0)
将字符串拆分为空格,将其反转,然后将它们连接在一起。
你可以这样做一个方法:
def reverse_words(string)
return string.split(" ").reverse.join(" ")
end
然后,用以下方法调用该方法:
print reverse_words("Hello World")
或者将字符串设置为返回值:
reversed_string = reverseWords("Hello World")