你好,我有一个问题,我正在努力解决。用另一个修改的实例编辑一个数组
定义一个名为clean_slate的方法,该方法将采用表示记录的字符串和表示名称作为参数的另一个字符串。该方法返回一个表示原始记录的字符串,但每个名称的实例都将替换为名称中包含字符的X的两倍。如果传递了一个完整名称,它也将替换只使用了第一个或最后一个名字的实例,以及包含与全名包含字符一样多的X的实例。你的方法不应区分大小写。假设输入将始终是一个字符串。如果找不到名称,请返回原始记录。
到目前为止,我有:
def clean_slate(record, name)
name = name.downcase
split_name = name.downcase.split(" ") #array
change_name = split_name.map do |letter|
letter = "X" * 2 * name.length
end
record_words = record.downcase.split(" ") #array
new_record = record_words.map do |word|
if word.include?(split_name[0] || split_name[1])
word = change_name
else
word
end
end
new_record.join(" ")
end
clean_slate("Megan Fox is a talented actress. megan knows sulfoxide is a chemical compound containing a sulfinyl (SO) functional group attached to two carbon atoms. It is a polar functional group. Ms. fox has many talents.", "Megan Fox")
我返回record
,但我不是在节录的record
获得姓氏。有谁知道我如何解决这个问题?
"XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX fox is a talented actress. XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXX knows sulfoxide is a chemical compound containing a sulfinyl (so) functional group attached to two carbon atoms. it is a polar functional group. ms. fox has many talents."
哇!非常感谢你的回应和你的解释。我学到了新东西! – Joseph