首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >红宝石中的"URLize“字符串

红宝石中的"URLize“字符串
EN

Stack Overflow用户
提问于 2017-11-17 16:21:41
回答 3查看 388关注 0票数 2

我得到了一些关于人类可读的格式的字符串,这些将是我的wordpress文章的标题。因此,为了生成该帖子的url,我想知道是否有某种方法用于在ruby中"urlize“字符串。例如,如果我的字符串“对我的áccented字符串做了一些测试",我想得到”做-一些测试-我的口音-字符串“,还是我必须写我自己的?提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-11-17 16:39:33

我有时也使用i18n (如here),但如果您不想再需要另一个gem,也可以使用.tr

代码语言:javascript
复制
string_with_special_chars.tr( 
"ÀÁÂÃÄÅàáâãäåĀāĂ㥹ÇçĆćĈĉĊċČčÐðĎďĐđÈÉÊËèéêëĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħÌÍÎÏìíîïĨĩĪīĬĭĮįİıĴĵĶķĸĹĺĻļĽľĿŀŁłÑñŃńŅņŇňʼnŊŋÒÓÔÕÖØòóôõöøŌōŎŏŐőŔŕŖŗŘřŚśŜŝŞşŠšſŢţŤťŦŧÙÚÛÜùúûüŨũŪūŬŭŮůŰűŲųŴŵÝýÿŶŷŸŹźŻżŽž", 
"AAAAAAaaaaaaAaAaAaCcCcCcCcCcDdDdDdEEEEeeeeEeEeEeEeEeGgGgGgGgHhHhIIIIiiiiIiIiIiIiIiJjKkkLlLlLlLlLlNnNnNnNnnNnOOOOOOooooooOoOoOoRrRrRrSsSsSsSssTtTtTtUUUUuuuuUuUuUuUuUuUuWwYyyYyYZzZzZz")
票数 2
EN

Stack Overflow用户

发布于 2017-11-17 16:33:02

在提出了一些建议之后,实施了我自己的方法:

代码语言:javascript
复制
require 'i18n'

I18n.config.available_locales = :en

def urlize(string)
   I18n.transliterate(string).squeeze.gsub(" ", "-").downcase
end

希望这能帮到别人,谢谢你的帮助!

票数 2
EN

Stack Overflow用户

发布于 2017-11-17 22:05:11

不会给你这么好的结果,但是

代码语言:javascript
复制
require 'uri'
URI.escape(string.gsub(/\s+/, ?-)

对于你的例子来说

代码语言:javascript
复制
"Doing-some-test-on-my-%C3%A1ccented-string"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47355047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档