/**
* <p>Title: 购电侧系统</p>
* <p>Description: 购电侧系统</p>
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: 江苏方天电力技术有限公司</p>
* ============================================================
* 更新时间:2009.08.20
* 更新人:bottle
* 更新内容:testHtml2Text()方法
* ============================================================
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 类说明:字符串工具类
* @author gaoLi
* @version 1.0
*/
public class StringUtil {
/**
*
*/
private static final int[] wi = { 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 };
/**
*
*/
private static final int[] vi = { 1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2 };
/**
*
*/
private static int[] ai = new int[18];
/**
* 判断字符串是否为空
*
* @param string 设置字符串
* @return boolean 返回是否为空
*/
public static boolean isEmpty(String string) {
return string == null || string.length() == 0;
}
/**
* 判断两个字符串是否值相等
*
* @param a 设置第一个字符串
* @param b 设置第二个字符串
* @return boolean 返回比较的结果
*/
public static boolean compare(String a, String b) {
if (isEmpty(a) && isEmpty(b))
return true;
if (!isEmpty(a) && !isEmpty(b))
return a.equals(b);
else
return false;
}
/**
* 判断两个字符串是否值相等,忽略大小写
*
* @param a 设置第一个字符串
* @param b 设置第二个字符串
* @return boolean 返回比较的结果
*/
public static boolean compareIgnoreCase(String a, String b) {
if (isEmpty(a) && isEmpty(b))
return true;
if (!isEmpty(a) && !isEmpty(b))
return a.equalsIgnoreCase(b);
else
return false;
}
/**
* 复制字符串中从开始到指定的位置
*
* @param src 设置字符串
* @param len 指定复制到某个位置
* @return String 返回结果
*/
public static String copy(String src, int len) {
if (src == null)
return null;
if (src.length() > len)
return len <= 0 ? null : src.substring(0, len);
else
return src;
}
/**
* 删除字符串中指定的一段字符串内容
*
* @param src 设置原字符串
* @param delStr 设置需要删除的字符串
* @return String 返回结果
*/
public static String delete(String src, String delStr) {
if (isEmpty(src) || isEmpty(delStr))
return src;
StringBuffer buffer = new StringBuffer(src);
for (int index = src.length(); (index = src.lastIndexOf(delStr, index)) >= 0; index -= delStr.length())
buffer.delete(index, index + delStr.length());
return buffer.toString();
}
/**
* 将指定的字符和位置插入到原字符串中
*
* @param src 设置原字符串
* @param anotherStr 设置需要插入的字符串
* @param offset 位置
* @return String 返回结果
*/
public static String insert(String src, String anotherStr, int offset) {
if (isEmpty(src) || isEmpty(anotherStr))
return src;
StringBuffer buffer = new StringBuffer(src);
if (offset >= 0 && offset <= src.length())
buffer.insert(offset, anotherStr);
return buffer.toString();
}
/**
* 追加指定的字符串到原字符串中
*
* @param src 设置原字符串
* @param appendStr 设置需要追加的字符串
* @return String 返回结果
*/
public static String append(String src, String appendStr) {
if (isEmpty(src) || isEmpty(appendStr)) {
return src;
} else {
StringBuffer buffer = new StringBuffer(src);
buffer.append(appendStr);
return buffer.toString();
}
}
/**
* 根据参数替换字符串内容功能
*
* @param src 设置原字符串
* @param oldStr 指定替换字符串
* @param newStr 将要替换的内容
* @param isCaseSensitive 是否区分大小写
* @return String 返回结果
*/
public static String replace(String src, String oldStr, String newStr, boolean isCaseSensitive) {
if (isEmpty(src) || isEmpty(oldStr) || newStr == null)
return src;
String s = isCaseSensitive ? src : src.toLowerCase();
String o = isCaseSensitive ? oldStr : oldStr.toLowerCase();
StringBuffer buffer = new StringBuffer(src);
for (int index = s.length(); (index = s.lastIndexOf(o, index)) >= 0; index -= o.length())
buffer.replace(index, index + o.length(), newStr);
return buffer.toString();
}
/**
* 根据参数替换字符串内容功能,可指定位置
*
* @param src 设置原字符串
* @param oldStr 指定替换字符串
* @param newStr 将要替换的内容
* @param isCaseSensitive 是否区分大小写
* @param index 指定位置
* @return String 返回结果
*/
public static String replace(String src, String oldStr, String newStr, boolean isCaseSensitive, int index) {
if (src == null || src.length() == 0 || oldStr == null || oldStr.length() == 0 || index <= 0)
return src;
if (newStr == null)
newStr = "";
String s = isCaseSensitive ? src : src.toLowerCase();
String old = isCaseSensitive ? oldStr : oldStr.toLowerCase();
StringBuffer buffer = new StringBuffer(src);
int length = old.length();
int pos;
for (pos = s.indexOf(old, 0); pos >= 0; pos = s.indexOf(old, pos + length))
if (--index == 0)
break;
if (pos >= 0 && index == 0)
buffer.replace(pos, pos + length, newStr);
return buffer.toString();
}
/**
* 给传入的字符串前后加双引号
*
* @param str 设置原字符串
* @return String 返回结果
*/
public static String quote(String str) {
if (isEmpty(str))
return "\"\"";
StringBuffer buffer = new StringBuffer(str);
if (!str.startsWith("\""))
buffer.insert(0, "\"");
if (!str.endsWith("\""))
buffer.append("\"");
return buffer.toString();
}
/**
* 去除字符串中的双引号
*
* @param str 设置原字符串
* @return String 返回结果
*/
public static String extractQuotedStr(String str) {
if (isEmpty(str))
return str;
StringBuffer buffer = new StringBuffer(str);
int index = str.length();
while (buffer.charAt(buffer.length() - 1) == '"') {
buffer.deleteCharAt(buffer.length() - 1);
index = buffer.length();
if (index <= 0)
break;
}
if (buffer.length() == 0)
return "";
while (buffer.charAt(0) == '"') {
buffer.deleteCharAt(0);
index = buffer.length();
if (index <= 0)
break;
}
return buffer.toString();
}
/**
* 截取字符串中到指定的字符的内容,从左边开始
*
* @param str 设置原字符串
* @param c 设置指定字符
* @return String 返回结果
*/
public static String strChar(String str, char c) {
if (str == null || str.length() == 0)
return null;
for (int i = 0; i < str.length(); i++)
if (str.charAt(i) == c)
return str.substring(i);
return null;
}
/**
* 截取字符串中到指定的字符的内容,从右边开始
*
* @param str 设置原字符串
* @param c 设置指定字符
* @return String 返回结果
*/
public static String strRChar(String str, char c) {
if (str == null || str.length() == 0)
return null;
for (int i = str.length() - 1; i >= 0; i--)
if (str.charAt(i) == c)
return str.substring(i);
return null;
}
/**
* 将Object对象数组转成字符串数组
*
* @param array 设置Object对象数组
* @return String[] 返回结果
*/
public static String[] toArray(Obje
- 1
- 2
- 3
前往页