我正在尝试创建一个小程序,人们可以用化学符号改变他们的名字(The Breaking bad way' s。)
我可以得到两个首字母,但我不知道如何分开其余的字母:
puts "Please enter your name"
name = gets.chomp
first_letters = name[0,1]
last_letters = name - first_letters #I know it's wrong but here is the idea of what i want to do. Hope it's clear...
然后我将显示与第一个字母对应的图像的名称。
if first_letters.include? "br"
puts "Br" + last_letters
end
if first_letters.include? "ba"
puts "Ba" + last_letters
end
如何隔离最后的字母?
由于
答案 0 :(得分:1)
你快到了:
name[2..-1]
或
name[2..name.length]
或者如果你想采用正则表达方式(这里不需要那么多的复杂性)
match = name.match(/(.{2})(.*)/)
first_letters = match[1]
last_letters = match[2]
现在,在所有变体中,您可能希望添加一些名称具有足够长度的检查。
答案 1 :(得分:0)
first, last = "String".scan(/\A(..)(.*)\z/).first
#⇒ ["St", "ring"]
或简单地说:
first, last = "String".split(/(?<=\A..)/)
或者,如果你不知道第一个字母是什么:
def get_rid_of_first(first)
"String"[/(?<=\A#{Regexp.escape(first)}).*\z/]
end
get_rid_of_first("St")
#⇒ "ring"