这是我的示例字符串:
“嘿_this_is_a_test”
所以我希望函数返回“htiat”。
我找到了这样的方法:
x = "hey_this_is_a_test"
y = x.split("_")
z = ""
y.each do |w|
z += w[0]
end
puts z
但我想知道是否有更短的方法来解决它,我觉得我的可能无法通过一些用例。
这是我的示例字符串:
“嘿_this_is_a_test”
所以我希望函数返回“htiat”。
我找到了这样的方法:
x = "hey_this_is_a_test"
y = x.split("_")
z = ""
y.each do |w|
z += w[0]
end
puts z
但我想知道是否有更短的方法来解决它,我觉得我的可能无法通过一些用例。
你可以用正则表达式来做到这一点。
"hey_this_is_a_test".scan(/^(.)|_(.)/).join
# => "htiat"
另外它看起来很酷。
x = "hey_this_is_a_test"
x.split("_").map{|s| s[0]}.join # => "htiat"
"hey_this_is_a_test".gsub(/(?<=[a-z])./, "")
"hey_this_is_a_test".prepend("_").scan(/(?<=_)./).join