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

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

"abc def" 

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

 "aabc ddef" 

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

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

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

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

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

您可以尝试下面的代码段

 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}"