拆分不带括号的字符串,并确保每个单词周围的引号

时间:2016-10-31 17:22:22

标签: ruby

我有以下格式one-word-after-another的字符串作为示例。我需要的是以下列格式输出'one', 'word', 'after', 'another'

我尝试了'one-world-after-another'.split("-"),但输出添加了我不需要的括号。

'one-world-after-another'.split("-")
=> ["one", "world", "after", "another"]

我知道这是因为它是一个数组。

任何人都可以推荐一种方法来实现结果'one', 'word', 'after', 'another'

4 个答案:

答案 0 :(得分:2)

这样的事情应该有效:

puts 'one-world-after-another'.split("-").map {|e| "'#{e}'"}.join(", ")

这会产生:

'one', 'world', 'after', 'another'

答案 1 :(得分:1)

不需要拆分字符串,操纵结果数组并将其转换回字符串。只需修改字符串并在每一端添加双引号。

str = 'one-world-after-another'

puts "\"#{str.gsub('-', '", "')}\""

打印

"one", "world", "after", "another"

答案 2 :(得分:0)

如果您需要具有所需格式的字符串,请执行此操作

"one-word-after-another".split('-').map{|word| "'#{word}'"}.join(', ')
=> "'one', 'word', 'after', 'another'"

答案 3 :(得分:0)

"one-word-after-another".split('-').map {|word| "'" + word + "'" }.join(', ')

考虑到提出问题的人已经拆分了字符串,并且正在寻找一种方法来完成他的代码。我只是觉得我可以建立他已经意识到的东西。