package com.tianmushanlu.util;
import org.apache.commons.lang.StringUtils;
/**
* 骆驼法则字符串与下划线字符串规则转换工具
*
*
*
*/
public class CamelCaseUtils {
private static final char SEPARATOR = '_';
/**
* 骆驼法则字符串转换为下划线标准格式
*
* @param s
* @return
*/
public static String toUngerScoreCase(String s) {
if (StringUtils.isBlank(s)) {
return null;
}
StringBuffer sb = new StringBuffer();
boolean upperCase = false;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
boolean nextUperCase = true;
if (i < (s.length() - 1)) {
nextUperCase = Character.isUpperCase(s.charAt(i + 1));
}
if ((i > 0) && Character.isUpperCase(c)) {
if (!upperCase || !nextUperCase) {
sb.append(SEPARATOR);
}
upperCase = true;
} else {
upperCase = false;
}
sb.append(Character.toLowerCase(c));
}
return sb.toString();
}
/**
* 下划线命名字符串格式转换为骆驼法则格式
*
* @param s
* @return
*/
public static String toCamelCase(String s) {
if (StringUtils.isBlank(s)) {
return null;
}
s = s.toLowerCase();
StringBuffer sb = new StringBuffer();
boolean upperCase = false;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c == SEPARATOR) {
upperCase = true;
} else if (upperCase) {
sb.append(Character.toUpperCase(c));
upperCase = false;
} else {
sb.append(c);
}
}
return sb.toString();
}
/**
* 下划线命名字符串格式转换为骆驼法则格式 首字母大写
*
* @param s
* @return
*/
public static String toCamelAndFirstLetterCase(String s) {
if (StringUtils.isBlank(s)) {
return null;
}
s = toCamelCase(s);
return s.substring(0, 1).toUpperCase()+s.substring(1);
}
/**
* 测试main方法
*
* @param args
*/
public static void main(String[] args) {
System.out.println("toUngerScoreCase:" + toUngerScoreCase("tianMuShanLu"));//tian_mu_shan_lu
System.out.println("toCamelCase:" + toCamelCase("tian_mu_shan_lu"));//tianMuShanLu
System.out.println("toCamelAndFirstLettersCase:" + toCamelAndFirstLetterCase("tian_mu_shan_lu"));//TianMuShanLu
}
}
分享到:
相关推荐
"underscore2camelCase下划线命名驼峰式命名转换器"是专门针对编程中的命名规则转换工具,尤其适用于JavaScript开发。这个工具可以帮助开发者将下划线分隔的命名(例如"example_name")转换为驼峰式命名(例如...
我们使用相同的 Ruby on Rails Active 支持字符串辅助方法来简化字符串操作。 #A Jquery Plugins For Some String Helper methods like Camelize, Underscore, Dasherize, Classify, Ordinalize, ForeignKey 所有...
将破折号/点号/下划线/空格分隔的字符串转换为camelCase或PascalCase: foo-bar → fooBar 正确处理Unicode字符串。 安装 $ npm install camelcase 如果您需要支持Firefox <78 xss=removed> 'fooBar' camelCase ( '...
此外,还有另一种命名规则叫做匈牙利命名法,它与骆驼命名法有所不同。 #### 二、骆驼命名法详解 ##### 1. 小驼峰命名法(lowerCamelCase) 小驼峰命名法常用于变量命名。它的特点是:首字母小写,后续每个单词首...
与下划线命名法(如`print_employee_paychecks()`)相比,骆驼命名法更易于阅读,尤其是在长函数或变量名中。 第三,帕斯卡命名法与骆驼命名法类似,但所有单词的首字母都大写,如`DisplayInfo()`和`UserName`。在...
例如,`m_lpszStr`表示成员变量,是一个长指针,指向零终止的字符串。在Windows Forms应用中,控件的命名通常遵循匈牙利命名法,如TextBox类型的控件前缀为`txt`,如`txtCustomerName`,Button类型的控件前缀为`btn`...
例如,`m_lpszStr`表示成员变量,是一个长指针,指向以零字符结束的字符串。在Windows Form应用中,控件命名通常遵循匈牙利命名法,如TextBox类型的控件前缀为`txt`,如`txtCustomerName`,Button类型的控件前缀为`...
例如,`lpszStr`表示指向一个零结尾字符串的长指针,其中`l`表示长整型,`psz`表示字符串指针,这种命名方式能够帮助开发者快速理解变量的类型和用途。 **骆驼命名法**近年来受到广泛欢迎,尤其是在新的函数库和...
例如,`lpszStr`这个变量名就表明它是一个长指针,指向一个以'\0'结尾的字符串。然而,这种命名方式在现代编程中逐渐被其他简洁的命名风格所取代。 骆驼命名法,又称为驼峰命名法,是目前广泛接受的命名规则之一。...
用户可以输入字符串或者选择一段代码,然后使用该工具进行转换。这在处理JSON数据、API接口设计或者与使用不同命名约定的团队合作时尤其有用。 项目的源代码在"snake_camel_switch-master"文件夹中,我们可以期待...
例如,`m_lpszStr`表示成员变量,是一个长指针,指向以0结尾的字符串。在Windows Form应用中,控件名通常会根据控件类型采用匈牙利命名法,如TextBox类型的控件前缀为`txt`,Button类型的控件前缀为`btn`。匈牙利...
在JavaScript编程语言中,"node-arr-camelize"是一个工具函数,用于将字符串数组转换成驼峰式(CamelCase)字符串。这个函数被称为`arrCamelize`,它能够处理一个包含多个单词的数组,并将这些单词组合成一个符合...
Gson包,全称为Google Gson,是一个开源Java库,由Google提供,用于将Java对象转换为JSON(JavaScript Object Notation)格式的字符串,反之亦然。这个强大的库使得在Java应用中处理JSON数据变得极其简单,无论是...
例如,`i`代表整型,`s`代表字符串,如`iMyData`。然而,现代C#编程中更倾向于避免使用匈牙利命名规则,因为它可能增加代码的冗余并降低可读性。 #### 变量、常量、数组与枚举的命名 - **变量**:应使用骆驼命名...
- **例子:** `m_lpszStr` 表示指向一个以空字符结尾的字符串的长指针成员变量。 **在Windows Form应用中的使用:** - **TextBox类型:** 前缀加`txt`,例如`txtCustomerName`、`txtAddress`。 - **Button类型:** ...
#### 字符串与字符操作 - **字符串转换**:`String inputStr = scanner.next().toUpperCase();` 从用户输入中获取字符串,并将其转换为大写形式存储在 `inputStr` 变量中。 - **字符串转字符数组**:`char[] input...
另一方面,char存储单个字符,而String是表示字符串的类,它可以存储一个或多个字符。String具备面向对象的特性,可以调用方法,如length()来获取字符串长度。 在Java中,变量使用有一些特定规则:它们需要先声明后...
变量命名应遵循一定的规则,避免使用关键字,以字母或下划线开头,使用骆驼命名法组合多个单词。 常量与变量相反,它的值在程序运行过程中不会改变。声明常量时,使用`const`关键字,如`const int MAX_SIZE = 100;`...
“s”表示字符串等。这种命名法非常详细地标示了变量的属性,从而增加了代码的可读性。这种命名风格在早期的Windows编程中非常常见,不过随着编程语言的发展,其使用逐渐减少。 接下来是骆驼命名法,它是一种以单词...
匈牙利命名法是一种较早的命名规范,强调在变量名前加上类型的前缀,如`m_lpszStr`表示成员变量指向字符串。这种方法的优点在于能立即识别变量的类型,但其缺点是可能使变量名过长,影响代码的整洁度。在现代编程...