嘿,我必须在很多地方改变camelCase到snail_case。
我有以下示例:
billingAddress
paymentDetails
我尝试在PhpStorm
中使用find和replace with regex在'find'输入字段中输入:
([A-Z])
在'replace'输入字段中输入:
_\L$1
结果我得到了:
billing_LAddress
payment_LDetails
为了获得以下结果,我需要更改什么:
billing_address
payment_details
答案 0 :(得分:36)
首先使用 CTRL
+ R
打开“查找和替换”功能,然后选中Match Case
和{{1}框(如有必要Regex
):
1。将 camelCase 替换为 snail_case ,如问题所示:
发现: In Selection
替换: ([A-Z])
_\l$1
2. 要将大写字词替换为小写字词,请使用someThing -> some_thing
发现: \L
替换: (\w*)
\L$1
3. 要将小写字词替换为 UPPERCASE 字词,请使用SOMETHING -> something
发现: \U
替换: (\w*)
\U$1
4. 要用小写替换单词的第一个字符,请使用something -> SOMETHING
发现: \l
替换: (\w*)
\l$1
5. 要用 UPPERCASE 替换单词的第一个字符,请使用Something -> something
发现: \u
替换: (\w*)
\u$1
通过添加一些适合您特定情况的其他边界,您可以获得最佳效果,例如单something -> Something
或双引号'
或换行"
答案 1 :(得分:12)
根据PHPstorm docs并根据我的测试,现在可以使用:
_\l$1
答案 2 :(得分:3)
为了获得以下结果,我需要更改什么:
没什么/一切。它根本不支持ATM。
https://youtrack.jetbrains.com/issue/IDEA-70451 - 观看此门票(明星/投票/评论)以获得进展通知。
<强>更新强> 从PhpStorm v10开始,此功能现已实施并可用。