package com.hqyg.disjob.common.util;
/**
* <pre>
*
* File: StringHandleUtil.java
*
* Copyright (c) 2016, globalegrow.com All Rights Reserved.
*
* Description:
* 删除字符串前后空格,合并字符中间多个空格为一个
*
* Revision History
*
* Date: 2016年6月20日
* Author: Disjob
*
* </pre>
*/
public class StringHandleUtil {
/**
* @param str 需要处理的字符串
* @return (采用变量替换方式,不-能-删除tab)删除前后空格、合并多余空格后的字符串
*/
public static String deleteExtraSpaceBasic(String str){
if(null == str){
return null;
}
if(0 == str.length() || str.equals(" ")){
return new String();
}
char[] oldStr=str.toCharArray();
int len=str.length();
char[] tmpStr=new char[len];
boolean keepSpace=false;
int j=0;//the index of new string
for(int i=0;i<len;i++){
char tmpChar=oldStr[i];
if(oldStr[i]!=' '){
tmpStr[j++]=tmpChar;
keepSpace=true;
}else if(keepSpace){
tmpStr[j++]=tmpChar;
keepSpace=false;
}
}
int newLen=j;
if(tmpStr[j-1]==' '){
newLen--;
}
char[] newStr=new char[newLen];
for(int i=0;i<newLen;i++){
newStr[i]=tmpStr[i];
}
return new String(newStr);
}
/**
* @param str 需要处理的字符串
* @return (采用正则表达式,能-删除tab)删除前后空格、合并多余空格后的字符串
*/
public static String deleteExtraSpaceRegular(String str){
if(null == str){
return null;
}
if(0 == str.length() || str.equals(" ")){
return new String();
}
return str.trim().replaceAll("\\s{1,}", " ");
}
/**
* @param str 需要处理的字符串
* @return 验证字符串不是null、空格填充的字符串、tab填充的字符串
*/
public static boolean isNoneEmpty(String str){
if(null == str)
return false;
if(0 == str.length()){
return false;
}
return str.trim().replaceAll("\\s{1,}", "").length() > 0;// ^\\s*$
}
public static void main(String[] args) {
System.out.println(isNoneEmpty(""));
System.out.println(isNoneEmpty(" "));
System.out.println(isNoneEmpty(" "));
System.out.println(isNoneEmpty(" "));
System.out.println(isNoneEmpty(" "));
System.out.println(isNoneEmpty(null));
System.out.println(isNoneEmpty("a b"));
System.out.println(isNoneEmpty("a b"));
}
}