驼峰下划线连字符转换

  • camel=驼峰

  • hyphen=连字符

  • underscore=下划线

  • hyphen和dash区别

    连字符: non-smoker 中是 hyphen
    波折号: 1928-2008 中是 dash

2. 字符串-驼峰-下划线-连字符-以及大小写转换

2.1. 小写连字符->小写驼峰

CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data");

2.2. 小写下划线->小写驼峰

CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data")

2.3. 小写下划线->大写驼峰

CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data");

2.4. 小写驼峰->小写下划线

CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "testData");

2.5. 大写驼峰->小写下划线

CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData");

2.6. 小写驼峰->小写连字符

CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData");

2.7. 大写下划线->小写驼峰

CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "TEST_DATA");

2.8. 大写下划线->小写连字符

CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, "TEST_DATA");

3. 示例代码

import com.google.common.base.CaseFormat;
import lombok.extern.slf4j.Slf4j;

/**
 * <dependency>
 * <groupId>com.google.guava</groupId>
 * <artifactId>guava</artifactId>
 * <version>23.0</version>
 * </dependency>
 *
 * @Author niewj
 * @Date 2019/12/28 15:05
 * @Version 1.0
 */
@Slf4j
public class CamelCast {
    public static void main(String[] args) {
        // "test-data"->"testData" (小写连字符->小写驼峰)
        log.info(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data"));

        //  "test_data"->"testData" (小写下划线->小写驼峰)
        log.info(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));

        //  "test_data"->"TestData"  (小写下划线->大写驼峰)
        log.info(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data"));

        //  "testData"->"test_data" (小写驼峰->小写下划线)
        log.info(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "testData"));

        //  "TestData" -> "test_data" (大写驼峰->小写下划线)
        log.info(CaseFormat.UPPER_CAMEL.to(CaseFormat.LOWER_UNDERSCORE, "TestData"));

        //  "testData"-> "test-data" (小写驼峰->小写连字符)
        log.info(CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, "testData"));

        // "TEST_DATA"-> "testData" (大写下划线->小写驼峰)
        log.info(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "TEST_DATA"));

        // "TEST_DATA"-> test-data (大写下划线->小写连字符)
        log.info(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_HYPHEN, "TEST_DATA"));
    }
}

-


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com

×

喜欢就点赞,疼爱就打赏