您的位置:首页 > 其它

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();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string sun class