【发布时间】:2009-07-13 12:23:25
【问题描述】:
这并不像看起来那么简单。你们中的大多数人可能会想到正则表达式/([A-Z])/_$1/,就像我在互联网上找到的那样,但我的特殊情况稍微复杂一些。我的源字符串包含更多我不想要在我做的部分之前转换的内容。
考虑一个常规的 setter:
public function setUserId()
当然,这个方法缺少一个参数。也许我有很多这样的方法。我想将该行转换为
public function setUserId($user_id)
这是一件很容易考虑的事情,但不像我深入思考那么简单。它类似于 this thread 中的 Andreas_D,但增加了尝试迭代修改变量名的挑战...
使用正则表达式可能会很明显,但我对它们还是很陌生。无论哪种方式,我在搜索的任何地方都找不到合适的解决方案。
编辑:当然,我意识到“公共职能”中没有大写字母可以保证安全。但是,此搜索和替换将针对代码块运行,我想确保我修改的字符串以“公共函数”开头。
【问题讨论】:
标签: regex setter substitution camelcasing pascalcasing