xiangpei
2025-04-18 ccadf9480d4e6a9dcc227a2a0b1f9ae0612e36fd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
package com.monkeylessey.gen.utils;
 
import org.apache.commons.lang3.StringUtils;
 
/**
 * @author xp
 * @data 2022/9/24
 */
public class WordsUtils {
 
    /**
     * 首字母转小写
     * @param word
     * @return
     */
    public static String firstWordToLower(String word) {
        assert StringUtils.isBlank(word);
        String firstWord = word.substring(0,1).toLowerCase();
        return firstWord + word.substring(1);
    }
 
    /**
     * 首字母转大写
     * @param word
     * @return
     */
    public static String firstWordToUp(String word) {
        assert StringUtils.isBlank(word);
        String firstWord = word.substring(0,1).toUpperCase();
        return firstWord + word.substring(1);
    }
 
    /**
     * 数据库字段转java驼峰
     * @param input
     * @return
     */
    public static String convertToCamelCase(String input) {
        StringBuilder result = new StringBuilder();
        boolean capitalizeNextChar = false;
        for (int i = 0; i < input.length(); i++) {
            char currentChar = input.charAt(i);
 
            if (currentChar == '_') {
                capitalizeNextChar = true;
            } else {
                if (capitalizeNextChar) {
                    result.append(Character.toUpperCase(currentChar));
                    capitalizeNextChar = false;
                } else {
                    result.append(Character.toLowerCase(currentChar));
                }
            }
        }
        return result.toString();
    }
 
    /**
     * 获取分隔符字符串的每个单词的首位组成的字符串,"sys_user" ==> su
     *
     * @param input
     * @param delimiter
     * @return
     */
    public static String extractFirstLetters(String input, String delimiter) {
        if (input == null || input.isEmpty()) {
            return "";
        }
        String[] parts = input.split(delimiter);
        StringBuilder sb = new StringBuilder();
        for (String part : parts) {
            if (!part.isEmpty()) { // 确保单词不为空
                sb.append(Character.toUpperCase(part.charAt(0)));
            }
        }
        return sb.toString();
    }
 
}