Skip to content

Commit c38eb47

Browse files
committed
snakeCaseName
1 parent 65f9cbf commit c38eb47

File tree

3 files changed

+28
-3
lines changed

3 files changed

+28
-3
lines changed

src/main/java/com/shuzijun/leetcode/plugin/utils/VelocityTool.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ public class VelocityTool extends StringUtils {
1212
public static String camelCaseName(String underscoreName) {
1313

1414
if (isNotBlank(underscoreName)) {
15-
underscoreName = underscoreName.replace(" ", "");
15+
underscoreName = underscoreName.replace(" ", "_");
1616
StringBuilder result = new StringBuilder();
1717
if (isNumeric(underscoreName.substring(0, 1))) {
1818
underscoreName = numsAry[Integer.valueOf(underscoreName.substring(0, 1))] + "-" + underscoreName.substring(1);
@@ -38,4 +38,29 @@ public static String camelCaseName(String underscoreName) {
3838
return underscoreName;
3939
}
4040
}
41+
42+
43+
public static String snakeCaseName(String underscoreName) {
44+
45+
if (isNotBlank(underscoreName)) {
46+
underscoreName = underscoreName.replace(" ", "_");
47+
StringBuilder result = new StringBuilder();
48+
for (int i = 0, j = underscoreName.length(); i < j; i++) {
49+
char ch = underscoreName.charAt(i);
50+
if ('_' == ch || '-' == ch) {
51+
if (i + 1 < j) {
52+
result.append("_").append(Character.toLowerCase(underscoreName.charAt(i + 1)));
53+
i = i + 1;
54+
}
55+
} else if (Character.isUpperCase(ch)) {
56+
result.append("_").append(Character.toLowerCase(underscoreName.charAt(i)));
57+
} else {
58+
result.append(ch);
59+
}
60+
}
61+
return result.toString();
62+
} else {
63+
return underscoreName;
64+
}
65+
}
4166
}

src/main/resources/i18n/info.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ report=Report to plugin developer
3232
donate.info=Donation
3333
updata=Leetcode Editor new version {0} is found. Please update the plugin
3434
user.email=YOU HAVE NOT VERIFIED YOUR ACCOUNT\nYou cannot submit your code to the judge system until you verify your email.\nYou may resend the verification email or change your email in your profile page.
35-
template.variable=${0}question.title{1}\tquestion title\tex:Two Sum\n${0}question.titleSlug{1}\tquestion title slug \tex:two-sum\n${0}question.frontendQuestionId{1}\tquestion serial number\n${0}question.content{1}\tquestion content\n${0}question.code{1}\tquestion code\n$!velocityTool.camelCaseName(str)\ttransform str camel case
35+
template.variable=${0}question.title{1}\tquestion title\tex:Two Sum\n${0}question.titleSlug{1}\tquestion title slug \tex:two-sum\n${0}question.frontendQuestionId{1}\tquestion serial number\n${0}question.content{1}\tquestion content\n${0}question.code{1}\tquestion code\n$!velocityTool.camelCaseName(str)\ttransform str camel case\n$!velocityTool.snakeCaseName(str)\ttransform str snake case
3636
tree.load=Please load questions first
3737
tree.null=Questions returned are empty
3838
tree.select=Please select a valid question in the list

src/main/resources/i18n/info_zh.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ report=\u5411\u63D2\u4EF6\u4F5C\u8005\u62A5\u544A
3232
donate.info=\u6253\u8D4F
3333
updata=leetcode editor\u65B0\u7248\u672C {0} \u53D1\u5E03,\u8BF7\u53CA\u65F6\u66F4\u65B0
3434
user.email=\u60A8\u5C1A\u672A\u9A8C\u8BC1\u81EA\u5DF1\u7684\u5E10\u6237\n\u5728\u9A8C\u8BC1\u7535\u5B50\u90AE\u4EF6\u4E4B\u524D\uFF0C\u60A8\u65E0\u6CD5\u5C06\u4EE3\u7801\u63D0\u4EA4\u7ED9\u8BC4\u5224\u7CFB\u7EDF\u3002\n\u60A8\u53EF\u4EE5\u5728\u4E2A\u4EBA\u8D44\u6599\u9875\u9762\u4E2D\u91CD\u65B0\u53D1\u9001\u9A8C\u8BC1\u7535\u5B50\u90AE\u4EF6\u6216\u66F4\u6539\u7535\u5B50\u90AE\u4EF6\u3002
35-
template.variable=${0}question.title{1}\t\u9898\u76EE\u6807\u9898\t\u793A\u4F8B:\u4E24\u6570\u4E4B\u548C\n${0}question.titleSlug{1}\t\u9898\u76EE\u6807\u8BB0\t\u793A\u4F8B:two-sum\n${0}question.frontendQuestionId{1}\t\u9898\u76EE\u7F16\u53F7\n${0}question.content{1}\t\u9898\u76EE\u63CF\u8FF0\n${0}question.code{1}\t\u9898\u76EE\u4EE3\u7801\n$!velocityTool.camelCaseName(str)\t\u8F6C\u6362\u5B57\u7B26\u4E3A\u9A7C\u5CF0\u6837\u5F0F
35+
template.variable=${0}question.title{1}\t\u9898\u76EE\u6807\u9898\t\u793A\u4F8B:\u4E24\u6570\u4E4B\u548C\n${0}question.titleSlug{1}\t\u9898\u76EE\u6807\u8BB0\t\u793A\u4F8B:two-sum\n${0}question.frontendQuestionId{1}\t\u9898\u76EE\u7F16\u53F7\n${0}question.content{1}\t\u9898\u76EE\u63CF\u8FF0\n${0}question.code{1}\t\u9898\u76EE\u4EE3\u7801\n$!velocityTool.camelCaseName(str)\t\u8F6C\u6362\u5B57\u7B26\u4E3A\u9A7C\u5CF0\u6837\u5F0F\n$!velocityTool.snakeCaseName(str)\t\u8F6C\u6362\u5B57\u7B26\u4E3A\u86C7\u5F62\u6837\u5F0F
3636
tree.load=\u8BF7\u5148\u52A0\u8F7D\u9898\u76EE
3737
tree.null=\u83B7\u53D6\u9898\u76EE\u4E3A\u7A7A
3838
tree.select=\u8BF7\u5728\u5217\u8868\u4E2D\u9009\u62E9\u4E00\u4E2A\u6709\u6548\u7684\u9898\u76EE

0 commit comments

Comments
 (0)