当前位置:  开发笔记 > 编程语言 > 正文

正则表达式能做得更快吗?

如何解决《正则表达式能做得更快吗?》经验,为你挑选了2个好方法。

我想将每个单词大写并将其合并为一个单词,例如:

home = Home
about-us =关于我们

这是我目前使用的功能,正则表达式可以做得更好还是更有效?

public function formatClassName($name)
{
 $name = str_replace('-', ' ', $name);
 $name = ucwords($name);
 $name = str_replace(' ', '', $name);
 return $name;
}

FrustratedWi.. 29

我不认为正则表达式可以将这些单词大写,所以你仍然必须有两个单独的正则表达式,我认为在这么简单的情况下,正则表达式是过度杀戮(想想用火炮狩猎松鼠).此代码简单,清晰且易于理解.请勿触摸它!



1> FrustratedWi..:

我不认为正则表达式可以将这些单词大写,所以你仍然必须有两个单独的正则表达式,我认为在这么简单的情况下,正则表达式是过度杀戮(想想用火炮狩猎松鼠).此代码简单,清晰且易于理解.请勿触摸它!


显然,你从来没有用火炮猎杀松鼠;)
RegEx可以将第一个字母大写,但是你的建议已经死了,KISS.

2> Pascal MARTI..:

使用正则表达式,你可能不得不使用"复杂"的东西,比如(能够应用函数),这会使你的代码至少更难理解 - 并且可能更慢,但最重要的是你的代码很容易理解.preg_replace_callback strtoupperucwords

考虑到你的解决方案是正常的,并且简单易行,如果我在你的位置,我可能会保留它.

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有