package com.xjj.framework.utils;
/**
* @author xjj
*/
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Vector;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.log4j.Logger;
public class StringUtils {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(StringUtils.class);
/**
* 将字符串转化为中文编码gb2312,默认输入的格式为iso-8859-1
*
* @param strInput
* 输入字符串
* @return
*/
public static String convertToChinese(String strInput) {
return convertToChinese(strInput, "iso-8859-1");
}
/**
* 将字符串转化为中文编码gb2312
*
* @param strInput
* 输入文本
* @param srcEncode
* 输入的格式
* @return
*/
public static String convertToChinese(String strInput, String srcEncode) {
String str = "";
try {
str = new String(strInput.getBytes(srcEncode), "gb2312");
} catch (Exception e) {
logger.error(e.getMessage());
return strInput;
}
return str;
}
/**
* 将列表中的文本前后加入指定字符
*
* @param list
* 字符串列表
* @param appStr
* 添加的指定字符
* @return
*/
public static List<String> appendAll(List<String> list, String appStr) {
List<String> tmpList = new ArrayList<String>();
;
for (String str : list) {
str = appStr + str + appStr;
tmpList.add(str);
}
return tmpList;
}
/**
* 将列表中的文本前面加入指定字符
*
* @param list
* 字符串列表
* @param appStr
* 添加的指定字符
* @return
*/
public static List<String> appendFore(List<String> list, String appStr) {
List<String> tmpList = new ArrayList<String>();
;
for (String str : list) {
str = appStr + str;
tmpList.add(str);
}
return tmpList;
}
/**
* 将列表中的文本后面加入指定字符
*
* @param list
* 字符串列表
* @param appStr
* 添加的指定字符
* @return
*/
public static List<String> appendBack(List<String> list, String appStr) {
List<String> tmpList = new ArrayList<String>();
;
for (String str : list) {
str = str + appStr;
tmpList.add(str);
}
return tmpList;
}
/**
* 将列表中的字符串合并
*
* @param list
* 列表
* @param delim
* 分隔符
* @return
*/
public static String join(List<String> list, String delim) {
if (list == null || list.size() < 1) {
return null;
}
if (delim == null) {
delim = "";
}
StringBuffer buf = new StringBuffer();
for (String str : list) {
buf.append(str);
buf.append(delim);
}
return buf.toString().substring(0, buf.toString().lastIndexOf(delim));
}
/**
* 将列表中的字符串合并
*
* @param list
* 列表
* @return
*/
public static String join(Object... list) {
if (list == null || list.length == 0) {
return "";
}
StringBuilder builder = new StringBuilder();
for (Object c : list) {
builder.append(c);
}
return builder.toString();
}
/**
* 将字符窜拆成数组
*
* @param str
* 带拆分的字符串
* @param delim
* 分隔符
* @return
*/
public static String[] splitToArray(String str, String delim) {
if (delim == null || delim.equals(""))
delim = ",";
String[] ret = new String[] {};
if (str == null || str.equals("")) {
return ret;
}
if (str.indexOf(delim) < 0) {
return new String[] { str.trim() };
}
Vector<String> splitList = new Vector<String>();
for (String s : str.split(delim)) {
String trimmed = s.trim();
if (trimmed.length() > 0)
splitList.add(trimmed);
}
return splitList.toArray(ret);
}
/**
* 将字符窜拆成List列表
*
* @param str
* 带拆分的字符串
* @param delim
* 分隔符
* @return
*/
public static List<String> splitToList(String str, String delim) {
if (delim == null || delim.equals(""))
delim = ",";
List<String> splitList = new ArrayList<String>();
for (String s : str.split(delim)) {
String trimmed = s.trim();
if (trimmed.length() > 0)
splitList.add(trimmed);
}
return splitList;
}
/**
* 将字符窜拆成Set
*
* @param str
* 带拆分的字符串
* @param delim
* 分隔符
* @return
*/
public static Set<String> splitToSet(String str, String delim) {
if (delim == null || delim.equals(""))
delim = ",";
Set<String> splitSet = new HashSet<String>();
;
for (String s : str.split(delim)) {
String trimmed = s.trim();
if (trimmed.length() > 0)
splitSet.add(trimmed);
}
return splitSet;
}
/**
* 截断过长的以空格分割的单词
*
* @param str
* 被截断的字符串
* @param maxLength
* 最大长度
* @return
*/
public static String createBreaks(String str, int maxLength) {
char chars[] = str.toCharArray();
int len = chars.length;
StringBuffer buf = new StringBuffer(len);
int count = 0;
int cur = 0;
for (int i = 0; i < len; i++) {
if (Character.isWhitespace(chars[i])) {
count = 0;
}
if (count >= maxLength) {
count = 0;
buf.append(chars, cur, i - cur).append(" ");
cur = i;
}
count++;
}
buf.append(chars, cur, len - cur);
return buf.toString();
}
/**
* 格式化SQL语句标志
*
* @param str
* @return
*/
public static String escapeSQLTags(String str) {
if (str == null || str.length() == 0) {
return str;
}
StringBuffer buf = new StringBuffer();
char ch = ' ';
for (int i = 0; i < str.length(); i++) {
ch = str.charAt(i);
if (ch == '\\') {
buf.append("\\\\");
} else if (ch == '\'') {
buf.append("\'\'");
} else {
buf.append(ch);
}
}
return buf.toString();
}
/**
* 格式化html文本,将html文本进行编码
*
* @param str
* @return
*/
public static String escapeHTMLTags(String str) {
if (str == null || str.length() == 0) {
return str;
}
StringBuffer buf = new StringBuffer();
char ch = ' ';
for (int i = 0; i < str.length(); i++) {
ch = str.charAt(i);
if (ch == '<') {
buf.append("<");
} else if (ch == '>') {
buf.append(">");
} else if (ch == '&') {
buf.append("&");
} else if (ch == '"') {
buf.append(""");
} else if (ch == ' ') {
buf.append(" ");
} else {
buf.append(ch);
}
}
return buf.toString();
}
/**
* 反格式化html文本,将html中的编码转化为对应格式
*
* @param str
* @return
*/
public static String toHTMLTags(String str) {
if (str == null || str.length() == 0) {
return str;
}
return str.replaceAll("<", "<").replaceAll(">", ">")
.replaceAll("&", "&").replaceAll(""", "\"")
.replaceAll(" ", " ");
}
/**
* 将换行转换为html标签
*
* @param str
* @return
*/
public static String convertNewlines(String str) {
str = replace(str, "\r\n", "<P>");
str = replace(str, "\n", "<BR>");
return str;
}
/**
* 替换字符串中的字符
*
* @param str
* 待替换的字符串
* @param oldString
* 旧字符
* @param newString
* 新字符
* @return
*/
public static String replace(String str, String oldString, String newString) {
if (str == null) {
return null;
}
int i = str.lastIndexOf(oldString);
if (i < 0) {
return str;
}
StringBuffer mainSb = new StringBuffer(str);
while (i >= 0) {
mainSb.replace(i, i + oldString.length(), newString);
i = str.lastIndexOf(oldString, i - 1);
}
return mainSb.toString();
}
/**
* 检�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Java EE(J2EE)快速开发框架jeexjj,基于主流技术(Springboot、Spring MVC、MyBatis、Bootstrap、ACE),是XJJ框架的springboot版本。系统的代码生动生成、极简权限框架、通用service和dao设计、后台页面设计….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等 【本人专注计算机领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注
资源推荐
资源详情
资源评论
收起资源包目录
Java EE(J2EE)快速开发框架jeexjj,基于主流技术(Springboot、Spring MVC、MyBatis、 (514个子文件)
ace.min.css 388KB
bootstrap.css 138KB
ace-part2.min.css 126KB
bootstrap.min.css 115KB
ace-rtl.min.css 114KB
bootstrap.min.css 113KB
ace-skins.min.css 76KB
font-awesome.css 28KB
font-awesome.min.css 27KB
font-awesome.min.css 27KB
font-awesome.min.css 23KB
bootstrap-theme.css 22KB
bootstrap-datepicker3.min.css 20KB
bootstrap-theme.min.css 19KB
bootstrap-editable.min.css 17KB
jquery-ui.min.css 15KB
select2.min.css 14KB
layer.css 14KB
layer.css 14KB
ui.jqgrid.min.css 13KB
bootstrap-datetimepicker.css 12KB
fullcalendar.min.css 12KB
chosen.css 12KB
bootstrap-datetimepicker.min.css 11KB
chosen.min.css 11KB
chosen.min.css 10KB
dropzone.min.css 9KB
ace-ie.min.css 9KB
bootstrap-datetimepicker.min.css 8KB
style.css 7KB
daterangepicker.min.css 5KB
layer.css 5KB
bootstrap-colorpicker.min.css 4KB
style.css 3KB
jquery-ui.custom.min.css 3KB
bootstrap-timepicker.min.css 3KB
colorbox.min.css 3KB
form-elements.css 2KB
jquery.gritter.min.css 2KB
prism.css 1KB
bootstrap-duallistbox.min.css 1KB
fileuploader.css 1KB
bootstrap-multiselect.min.css 1KB
prettify.min.css 532B
fonts.googleapis.com.css 494B
xjj.css 395B
fontawesome-webfont.eot 69KB
fontawesome-webfont.eot 59KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
xjj-global.ftl 10KB
backstage-index.ftl 9KB
login.ftl 6KB
menu-input.ftl 5KB
login.ftl 5KB
Controller.java.ftl 5KB
menu-list.ftl 4KB
role-privilege-allot.ftl 4KB
xjj-list.ftl 3KB
Entity.java.ftl 3KB
Dao.xml.ftl 2KB
user-index.ftl 2KB
code-index.ftl 2KB
xjj-index.ftl 2KB
modelIndex.ftl 2KB
modelList.ftl 2KB
manager-list.ftl 2KB
list.ftl 1KB
role-privilege-index.ftl 1KB
dict-index.ftl 1KB
error.ftl 1KB
role-privilege-list.ftl 1KB
manager-index.ftl 1KB
role-index.ftl 1KB
role-list.ftl 1KB
xfile-index.ftl 1KB
modelInput.ftl 1KB
menu-index.ftl 1KB
user-input.ftl 1KB
ServiceImpl.java.ftl 1KB
user-list.ftl 1KB
role-privilege-input.ftl 1KB
xfile-list.ftl 1KB
manager-input.ftl 1KB
backstage-notice.ftl 1KB
role-input.ftl 1006B
xfile-input.ftl 928B
passport-mdyinfo.ftl 864B
dict-input.ftl 758B
dict-list.ftl 708B
user-import.ftl 654B
passport-mdypwd.ftl 626B
Service.java.ftl 607B
manager-role.ftl 602B
Dao.java.ftl 585B
loading-0.gif 6KB
loading-0.gif 6KB
loading-2.gif 2KB
loading-2.gif 2KB
loading.gif 2KB
共 514 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
热爱技术。
- 粉丝: 2771
- 资源: 7860
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功