我想将每个单词大写并将其合并为一个单词,例如:
home = Home
about-us =关于我们
这是我目前使用的功能,正则表达式可以做得更好还是更有效?
public function formatClassName($name) { $name = str_replace('-', ' ', $name); $name = ucwords($name); $name = str_replace(' ', '', $name); return $name; }
FrustratedWi.. 29
我不认为正则表达式可以将这些单词大写,所以你仍然必须有两个单独的正则表达式,我认为在这么简单的情况下,正则表达式是过度杀戮(想想用火炮狩猎松鼠).此代码简单,清晰且易于理解.请勿触摸它!
我不认为正则表达式可以将这些单词大写,所以你仍然必须有两个单独的正则表达式,我认为在这么简单的情况下,正则表达式是过度杀戮(想想用火炮狩猎松鼠).此代码简单,清晰且易于理解.请勿触摸它!
使用正则表达式,你可能不得不使用"复杂"的东西,比如(能够应用或函数),这会使你的代码至少更难理解 - 并且可能更慢,但最重要的是你的代码很容易理解.preg_replace_callback
strtoupper
ucwords
考虑到你的解决方案是正常的,并且简单易行,如果我在你的位置,我可能会保留它.