我想删除一系列名字中所有中间的首字母。我发现我可以用Python做这个,所以我想用ruby来试试。在Python中,我可以使用endswith命令删除csv文件中的所有中间缩写,因为它们是唯一以“.”结尾的项
示例
steve A. walkins
michael todd
Angel, Blair C.
不是所有的名字都有固定的模式,但所有中间的名字首字母都有。因此,为了让自己学会一些ruby,尝试找出在python中可以使用的endswith函数的等效命令和用法。在
我的示例Python代码是。在
^{pr2}$
Tags:
不要假装我的答案比Ivaylo Strandjev建议的好,但是如果您想要一个oneliner,它是将python代码“翻译”为ruby:
或者更清楚(感谢@ukaszNiemier)
^{pr2}$在ruby中有一个方法
end_with?
。在下面是一些ruby代码的示例,可以执行您想要的操作:
还有一个简短的检查:
第一行
name.split
只是使用默认的空白分隔符拆分名称。在names.select{|t| !t.end_with?(".")}
将只过滤不以.
结尾的名称,然后inject{|a,b| a + " " + b}
将累加剩余的名称,并在它们之间添加一个空白。在相关问题 更多 >
编程相关推荐