我正在尝试创建longest_word一个以句子为参数的方法,该函数将返回句子中最长的单词.
我的代码是:
def longest_word(str)
words = str.split(' ')
longest_str = []
return longest_str.max
end
Run Code Online (Sandbox Code Playgroud)
CDu*_*Dub 14
最简单的方法是使用Enumerable max_by:
def longest(string)
string.split(" ").max_by(&:length)
end
Run Code Online (Sandbox Code Playgroud)
这取决于您想要如何分割字符串。如果您对使用单个空间感到满意,那么这有效:
def longest(source)
arr = source.split(" ")
arr.sort! { |a, b| b.length <=> a.length }
arr[0]
end
Run Code Online (Sandbox Code Playgroud)
否则,请使用正则表达式来捕获空格和标点符号。
| 归档时间: |
|
| 查看次数: |
4847 次 |
| 最近记录: |