我想反转文本文件的单词:
如果我的输入是:
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")