如何重复字符串中单词的第一个字符?

时间:2017-12-14 21:21:52

标签: ruby string

使用Ruby 2.4。我有一个字母和空格的字符串。例如,

"abc def"

如何更改字符串以便复制每个单词的第一个字符?也就是说,上面会变成:

"aabc ddef"

因为" a"和" d"是上面字符串中单词的开头。用词来说,我指的是用空格分隔的任何字符序列。

3 个答案:

答案 0 :(得分:4)

我只是使用gsub来查找并加倍它们。

"abc def".gsub(/\b\w/, '\0\0')
=> "aabc ddef"

答案 1 :(得分:0)

你可以按每个空格拆分字符串,然后将第一个字符乘以你需要的次数,然后追加或连接“初始”字:

p "abc def".split.map { |word| "#{word[0] * 10}#{word}" }.join(' ')

答案 2 :(得分:0)

您可以尝试以下代码段

str = "abc def"
index = 0
new_str = ""

str.split.each do | string |
    string = string[0] + string
    new_str = new_str + string + " "
    index = index + 1
end

puts "New string #{new_str}"