如何用空格替换破折号,用破折号替换双破折号?

时间:2015-04-19 15:52:12

标签: regex meteor

我正在写一个关于Meteor的人的CRUD,我想要像

这样的漂亮网址

www.mysite.com/John-Doe。

(实际上,我的真正偏好是 www.mysite.com/JohnDoe,但实施可能会有点困难。)

为了实现这一目标,我需要能够将“John-Doe”翻译成“John Doe”和“John-Doe-Smith”John Doe-Smith“。

我当然可以将“ - ”初步替换为某个临时角色,但寻找更优雅的解决方案。

(编辑:写完这篇文章之后,我才意识到我可以清理这个名称以折叠多个空格并先破为一个;但我现在对更通用的答案感到好奇。)

1 个答案:

答案 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"

在许多情况下,有多种方法可以获得相同的结果,包括比上述方法更优雅或量身定制的方法。