java字符串操作函数_常用java字符串操作函数

/**

* 分割字符串

*

* @param str String 原始字符串

* @param splitsign String 分隔符

* @return String[] 分割后的字符串数组

*/

@SuppressWarnings("unchecked")

public static String[] split(String str, String splitsign) {

int index;

if (str == null || splitsign == null)

return null;

ArrayList al = new ArrayList();

while ((index = str.indexOf(splitsign)) != -1) {

al.add(str.substring(0, index));

str = str.substring(index + splitsign.length());

}

al.add(str);

return (String[]) al.toArray(new String[0]);

}

/**

* 替换字符串

*

* @param from String 原始字符串

* @param to String 目标字符串

* @param source String 母字符串

* @return String 替换后的字符串

*/

public static String replace(String from, String to, String source) {

if (source == null || from == null || to == null)

return null;

StringBuffer bf = new StringBuffer("");

int index = -1;

while ((index = source.indexOf(from)) != -1) {

bf.append(source.substring(0, index) + to);

source = source.substring(index + from.length());

index = source.indexOf(from);

}

bf.append(source);

return bf.toString();

}

/**

* 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号)

*

* @param str String 原始字符串

* @return String 替换后的字符串

*/

public static String htmlencode(String str) {

if (str == null) {

return null;

}

return replace("\\"", """, replace("

}

/**

* 替换字符串,将被编码的转换成原始码(替换成双引号和小于号)

*

* @param str String

* @return String

*/

public static String htmldecode(String str) {

if (str == null) {

return null;

}

return replace(""", "\\"", replace("<", "

}

private static final String _BR = "
";

/**

* 在页面上直接显示文本内容,替换小于号,空格,回车,TAB

*

* @param str String 原始字符串

* @return String 替换后的字符串

*/

public static String htmlshow(String str) {

if (str == null) {

return null;

}

str = replace("

str = replace(" ", " ", str);

str = replace("\\r\\n", _BR, str);

str = replace("\\n", _BR, str);

str = replace("\\t", "    ", str);

return str;

}

/**

* 返回指定字节长度的字符串

*

* @param str String 字符串

* @param length int 指定长度

* @return String 返回的字符串

*/

public static String toLength(String str, int length) {

if (str == null) {

return null;

}

if (length <= 0) {

return "";

}

try {

if (str.getBytes("GBK").length <= length) {

return str;

}

} catch (Exception ex) {

}

StringBuffer buff = new StringBuffer();

int index = 0;

char c;

length -= 3;

while (length > 0) {

c = str.charAt(index);

if (c < 128) {

length--;

} else {

length--;

length--;

}

buff.append(c);

index++;

}

buff.append("...");

return buff.toString();

}

/**

* 判断是否为整数

*

* @param str 传入的字符串

* @return 是整数返回true,否则返回false

*/

public static boolean isInteger(String str) {

Pattern pattern = Pattern.compile("^[-\\\\+]?[\\\\d]*$");

return pattern.matcher(str).matches();

}

/**

* 判断是否为浮点数,包括double和float

*

* @param str 传入的字符串

* @return 是浮点数返回true,否则返回false

*/

public static boolean isDouble(String str) {

Pattern pattern = Pattern.compile("^[-\\\\+]?[.\\\\d]*$");

return pattern.matcher(str).matches();

}

/**

* 判断输入的字符串是否符合Email样式.

*

* @param str 传入的字符串

* @return 是Email样式返回true,否则返回false

*/

public static boolean isEmail(String str) {

Pattern pattern = Pattern.compile("^\\\\w+([-+.]\\\\w+)*@\\\\w+([-.]\\\\w+)*\\\\.\\\\w+([-.]\\\\w+)*$");

return pattern.matcher(str).matches();

}

/**

* 判断输入的字符串是否为纯汉字

*

* @param str 传入的字符窜

* @return 如果是纯汉字返回true,否则返回false

*/

public static boolean isChinese(String str) {

Pattern pattern = Pattern.compile("[\\u0391-\\uFFE5]+$");

return pattern.matcher(str).matches();

}

/**

* 是否为空白,包括null和""

*

* @param str

* @return

*/

public static boolean isBlank(String str) {

return str == null || str.trim().length() == 0;

}

/**

* 判断是不是合法手机

* handset 手机号码

*/

public static boolean isHandset(String handset) {

try {

if(!handset.substring(0,1).equals("1")) {

return false;

}

if (handset==null || handset.length()!=11) {

return false;

}

String check = "^[0123456789]+$";

Pattern regex = Pattern.compile(check);

Matcher matcher = regex.matcher(handset);

boolean isMatched = matcher.matches();

if(isMatched) {

return true;

} else {

return false;

}

} catch (RuntimeException e) {

return false;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值