📄 stringutil.java
字号:
package com.prinice.jfoot.util.DataUtil;
/**
* @author:Leo
* @version:1.0
* @description:字符串处理
* @date:2008-2-20
*/
public class StringUtil {
// used to encode the input string
private static final int CRY_KEY = 15;
// used to limit the length of the final encoded_pass
private static final int STR_LEN = 32;
// used to change the cry_key to every byte
private static final int MUL_NUM = 3;
/**
* @description:对输入字符串进行非null处理和前后去空格处理
*/
public static String getString(String input) {
return (input == null ? "" : input).trim();
}
/**
* @description:对输入字符串进行非null处理和前后去空格处理,并用param2作默认值
*/
public static String getString(String input, String defaultValue) {
return (input == null ? defaultValue : input).trim();
}
/**
* @description:对输入字符串进行非null处理和前后去空格处理
*/
public static int getInt(String input) {
return Integer.parseInt((input == null ? "0" : input).trim());
}
/**
* @description:对输入字符串进行非null处理和前后去空格处理
*/
public static float getFloat(String input) {
return Float.parseFloat((input == null || input.length() == 0 ? "0" : input).trim());
}
/**
* 数据值加密函数,加密后的结果由解密函数得到。
*
* @param s
* String 待加密字符串
* @return String 加密结果
*/
public static String encoded(String s) {
char[] buff1 = new char[STR_LEN];
buff1 = s.toCharArray();
int b_len = buff1.length;
for (int i = 0; i < b_len && i < STR_LEN; i++)
buff1[i] = (char) ((int) buff1[i] ^ (CRY_KEY + MUL_NUM * i));
return new String(buff1);
}
/**
* 数据值解密函数
*
* @param s
* String 待解密字符串
* @return String 解密结果
*/
public static String decoded(String s) {
char[] buff1 = new char[STR_LEN];
buff1 = s.toCharArray();
int b_len = buff1.length;
for (int i = 0; i < b_len && i < STR_LEN; i++)
buff1[i] = (char) ((int) buff1[i] ^ (CRY_KEY + MUL_NUM * i));
return new String(buff1);
}
/**
* 待改进,暂用
*
* @param srcStr
* @param findStr
* @param replStr
* @return
*/
public static String replaceAll(String srcStr, String findStr,
String replStr) {
return repl(srcStr, findStr, replStr, -1);
}
/**
* 待改进,暂用
*
* @param srcStr
* @param findStr
* @param replStr
* @param times
* @return
*/
private static String repl(String srcStr, String findStr, String replStr,
int times) {
if (times == 0)
return srcStr;
if (srcStr == null || srcStr.length() < 1 || findStr == null
|| findStr.length() < 1 || replStr == null)
return srcStr;
int curTimes = 0; // 替换次数
int startPos = 0; // 开始位置
int nextPos = 0; // 下一位置;
int len = srcStr.length(); // 串长
StringBuffer result = new StringBuffer(); //
if (times > 0) // 替换指定次数
{
while (curTimes < times && startPos < len) {
nextPos = srcStr.indexOf(findStr, startPos);
if (nextPos >= 0) {
result.append(srcStr.substring(startPos, nextPos));
result.append(replStr);
startPos = nextPos + findStr.length();
curTimes++;
} else {
result.append(srcStr.substring(startPos));
break;
}
}
if (curTimes >= times && startPos < len) // 次数到
{
result.append(srcStr.substring(startPos));
}
} else // 全部替换
{
while (startPos < len
&& (nextPos = srcStr.indexOf(findStr, startPos)) >= 0) {
result.append(srcStr.substring(startPos, nextPos));
result.append(replStr);
startPos = nextPos + findStr.length();
}
if (startPos < len) {
result.append(srcStr.substring(startPos));
}
}
return new String(result);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -