String字符串的之间的各类转化操作
2017-05-10 20:25
447 查看
String字符串的之间的各类转化操作
【字母大写转换小写】【字母小写转换大写】
【大小写互换】
【字母一大二小】
【首字母转大写】
【字符串字母前后颠倒输出】
package sun.rain.amazing.util; import java.util.Optional; /** * Created by sunRainAmazing on SUN_RAIN_AMAZING * @author sunRainAmazing */ public class LetterTransform { /** * 【字母大写转换小写】 * @param str * @return */ public static String toLowerCase(String str){ return str.toLowerCase(); } /** * 【字母小写转换大写】 * @param str * @return */ public static String toUpperCase(String str){ return str.toUpperCase(); } /** * 【大小写互换】 * 将字符串字母 大小写互换 --apache 源码大小写转换 * @param str * @return */ public static String swapCase(String str){ if (isEmpty(str)) { return str; } char[] buffer = str.toCharArray(); for (int i = 0; i < buffer.length; i++) { char ch = buffer[i]; if (Character.isUpperCase(ch)) { buffer[i] = Character.toLowerCase(ch); } else if (Character.isTitleCase(ch)) { buffer[i] = Character.toLowerCase(ch); } else if (Character.isLowerCase(ch)) { buffer[i] = Character.toUpperCase(ch); } } return new String(buffer); } /** * 判断string字符串是否为空 * @param str * @return */ public static boolean isEmpty(String str){ return str==null&&str.length()<1; } /** * 判断string字符串是否为空 * --java8 * @param str * @return */ public static boolean notEmpty(String str){ return Optional.ofNullable(str).map(String::length).orElse(0)>0; } /** * 【字母一大二小】依次转换 * @param str * @return */ public static String toUpperThenLower(String str){ if (isEmpty(str)) { return str; } char[] buffer = str.toCharArray(); int even = 0; for (int i = 0; i < buffer.length; i++) { char ch = buffer[i]; if(Character.isLetter(ch)){ if (isEven(even)) { buffer[i] = Character.toUpperCase(ch); even++; } else if (!isEven(even)) { buffer[i] = Character.toLowerCase(ch); even++; } } } return new String(buffer); } /** * 判断数字是否为偶数 * @param num * @return */ public static boolean isEven(int num){ return num % 2 ==0; } /** * 【首字母转大写】 * --> 一句话中的每个单词的首字母转为大写 * 注 每个单词之间以空格隔开 * 并非是首字符转大写 * . 任何字符(与行结束符可能匹配也可能不匹配) * \d 数字:[0-9] * \D 非数字: [^0-9] * \s 空白字符:[ \t\n\x0B\f\r] * \S 非空白字符:[^\s] * \w 单词字符:[a-zA-Z_0-9] * \W 非单词字符:[^\w] * */ public static String toUpperOnlyFirst(String str){ String[] s = str.split("\\s"); StringBuffer sBuffer = new StringBuffer(); for(int i=0; i<s.length; i++){ sBuffer.append(s[i].substring(0,1).toUpperCase()) .append(s[i].substring(1)) .append(" "); } return sBuffer.toString(); } /** * 【字符串字母前后颠倒输出】 * @param str * @return */ public static String toResolveCase(String str){ if (isEmpty(str)) { return str; } char[] buffer = str.toCharArray(); StringBuffer sBuffer = new StringBuffer(); for(int i=buffer.length-1; i>-1; i--){ sBuffer.append(buffer[i]); } return sBuffer.toString(); } }
相关文章推荐
- C#入门篇6-6:字符串操作 StringBiulder string char[]之间的转化
- js中json和String字符串之间的相互转化
- 各种字符串类型 string和wstring之间的转化
- iOS 把String字符串转化为json字符串-subString截取字符串-index操作
- Java的十六进制与字符串之间互相转换函数(16进制与String转换)
- ASP Array To String 数组转化字符串
- 重写string.h中的字符串操作函数--strcpy
- 重写string.h中的字符串操作函数--strcat
- 如何使用fstream类在读写操作之间任意转化?
- 字符串(String)的一系列操作
- 重写string.h中的字符串操作函数--strspn和strcspn
- C++/CLI 中字符串类型的转化: 把std::string转化为System::String
- Delphi枚举类型和字符串之间相互转化
- 13字符串---String 操作
- Python学习笔记二(String字符串操作)
- string 字符串操作
- 重写string.h中的字符串操作函数--strncpy
- C++/CLI 中字符串类型的转化: 把System::String转化为std::string
- 重写string.h中的字符串操作函数--strcmp
- SQL自定义函数实现字符串截取转化为整型(主要用于对批量数据的操作)