如何将像"这是一个例子"的字符串转换为ruby下的"this-is-an-example"

0 ruby

如何在ruby下将"this is an example"等字符串转换为"this-is-an-example"?

mol*_*olf 7

最简单的版本:

"this is an example".tr(" ", "-")
#=> "this-is-an-example"
Run Code Online (Sandbox Code Playgroud)

您还可以执行类似这样的操作,通过更新正则表达式可以更加健壮且更容易扩展:

"this is an example".gsub(/\s+/, "-")
#=> "this-is-an-example"
Run Code Online (Sandbox Code Playgroud)

以上将将所有空白块(多个空格,制表符,换行符的任意组合)替换为单个短划线.

有关可用于在Ruby中操作字符串的方法的更多详细信息,请参阅String类参考.

如果您尝试生成可在URL中使用的字符串,则还应考虑剥离其他非字母数字字符(尤其是URL中具有特殊含义的字符),或者使用字母数字等效字符替换它们(例如,如建议的那样) Rob Cameron在他的回答中).