首页 > 解决方案 > 如何在红宝石的刺中添加“-”

问题描述

输入str = "This is my string. We need to truncate this string to certain length"

输出str = "this-is-my-string-we-need"

我试过了,但需要一点高效的代码: str.split(" ").map{ |word| word + "-"}.join()

标签: arraysrubystring

解决方案


我假设您的字符串将是正确的文本,但它可能包含句号 (.)、逗号 (,)、问号 (?) 和感叹号 (!)。根据您提供的省略句号的示例,我猜您正在删除这些特殊字符。

所以这里很少尝试达到你的场景,

str = "This is my string. We need to truncate this string to certain length"
str.downcase.gsub(/[^0-9A-Za-z\s]/, '').gsub(/\s+/, '-')
# => "this-is-my-string-we-need-to-truncate-this-string-to-certain-length"

推荐阅读