0

我想反转文本文件的单词:

如果我的输入是:

Hello World

我的输出应该是:

World Hello

我试过这个:

File.open('teste.txt').each_line do |line|
  print line.reverse.gsub(/\n/,"")
end

但我把字符颠倒了。

4

3 回答 3

9
"Hello World".split.reverse.join(" ")
=> "World Hello"

它将字符串拆分为一个数组,其中空格是默认分隔符。然后它反转数组并使用空格连接数组中的字符串。

您的解决方案应如下所示:

File.open("test.txt").each_line do |line|
  puts line.split.reverse.join(" ")
end

puts在输出后附加一个换行符,而print没有。这是必要的,因为split在将每行拆分为单词数组时会丢弃每行的原始换行符。

于 2013-11-09T19:35:32.080 回答
2

将字符串分解成单词并将其反转。

"Hello World".split.reverse.join(' ') # => "World Hello"
于 2013-11-09T19:35:17.323 回答
0

在空格上拆分字符串,反转它,然后将它们连接在一起。

您可以制作一种方法来做到这一点:

def reverse_words(string)
      return string.split(" ").reverse.join(" ")
end

然后,使用以下命令调用该方法:

print reverse_words("Hello World")

或者将一个字符串设置为返回值:

reversed_string = reverseWords("Hello World")
于 2013-11-09T19:38:07.113 回答