我正在写一个关于Meteor的人的CRUD,我想要像
这样的漂亮网址www.mysite.com/John-Doe。
(实际上,我的真正偏好是 www.mysite.com/JohnDoe,但实施可能会有点困难。)
为了实现这一目标,我需要能够将“John-Doe”翻译成“John Doe”和“John-Doe-Smith”John Doe-Smith“。
我当然可以将“ - ”初步替换为某个临时角色,但寻找更优雅的解决方案。
(编辑:写完这篇文章之后,我才意识到我可以清理这个名称以折叠多个空格并先破为一个;但我现在对更通用的答案感到好奇。)
答案 0 :(得分:1)
您可能需要查看Me meteor add underscorestring:underscore.string
提供的underscore.string库。
// Replace dashes with spaces:
s.humanize("no-dash");
// => "no dash"
// Dashes to camel case:
s.camelize("John-Doe");
// => "JohnDoe"
// Double dashes to single dashes:
s.replaceAll("John-Doe--Smith", "--", "-");
// => "John-Doe-Smith"
// Join two names with dashes:
s.join("-", "John", "Doe");
// => "John-Doe"
在许多情况下,有多种方法可以获得相同的结果,包括比上述方法更优雅或量身定制的方法。