- 浏览: 241424 次
- 性别:
- 来自: 内蒙古自治区
文章分类
最新评论
-
残雪流年:
第二个实际上不用这么麻烦哟, 在set中有一个linkedha ...
利用 Set 去掉 list中重复值 -
Aceslup:
有一个地方不太明白,就是到这一步:若可以下载设置 respon ...
nginx 利用 X-Accel-Redirect response header 控制文件下载 -
gaozhonghui:
freezingsky 写道gaozhonghui 写道fre ...
Web服务自动监控shell _v2 -
freezingsky:
gaozhonghui 写道freezingsky 写道大概看 ...
Web服务自动监控shell _v2 -
gaozhonghui:
freezingsky 写道大概看了,应该就是类似于Tomca ...
Web服务自动监控shell _v2
package com.common.util; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; public class StringUtil { public boolean hasRedundant(String[] strs) { if (null == strs || strs.length < 2) return false; boolean isRedundant = false; for (int i = strs.length - 1; i > -1; i--) for (int j = i - 1; j > -1; j--) if (null != strs[i] && strs[i].equals(strs[j])) { isRedundant = true; break; } return isRedundant; } /** * 判断字符串string是否存在于数组strs中。 * * @param string * @param strs * @return */ public boolean isExisted(String string, String[] strs) { if (null == string || null == strs || strs.length < 1) return false; boolean isOverlapped = false; for (int i = 0; i < strs.length; i++) if (null != strs[i] && strs[i].equals(string)) { isOverlapped = true; break; } return isOverlapped; } /** * 将字符串strSource用regex分割成数组,并判断字符串string是否在该数组里。 * * @param string * @param strSource * @param regex * @return */ public boolean isExisted(String string, String strSource, String regex) { if (null == string || null == strSource || null == regex || strSource.length() < 1) return false; return isExisted(string, strSource.split(regex)); } /** * 将字符串string用分割串regex分割成数组,并且剔除重复的,再重新用分割串regex组合起来。 * * @param string * @param regex * @return */ public String makeUnique(String string, String regex) { if (null == string) return null; if (null == regex) return string; if ("".equals(string.trim()) || "".equals(regex)) return string; String result = ""; String[] strs = string.split(regex); strs = removeNull(strs); int len = strs.length; boolean isRedundant[] = new boolean[len]; for (int i = 0; i < len; i++) isRedundant[i] = false; for (int i = 0; i < len; i++) { if (isRedundant[i]) continue; for (int j = i + 1; j < len; j++) if (!isRedundant[j] && null != strs[j] && strs[j].equals(strs[i])) isRedundant[j] = true; if (!isRedundant[i]) result += strs[i] + regex; } return result; } public static String toString(String[] str, String regex) { String string = ""; for (int i = 0; i < str.length; i++) { if (str[i] != null && str[i].trim().length() > 0) string += "'" + str[i] + "'" + regex; } string = string.trim(); if (string.endsWith(regex)) string = string.substring(0, string.length() - 1); return string; } /** * 将str1和str2的字符串用regex分割,剔除重复的子串,然后把两者合并。 * * @param str1 * @param str2 * @param regex * @return */ public String appendUnique(String str1, String str2, String regex) { if (null == str1 && null == str2) return null; if (null == str1 && null != str2) return makeUnique(str2, regex); if (null == str2 && null != str1) return makeUnique(str1, regex); if (null == regex) return str1 + str2; return makeUnique(str1 + str2, regex); } /** * 从数组strs1中将包含在数组strs2中的元素给剔除出去。 * * @param strs1 * @param strs2 * @return */ public String[] removeStrings(String[] strs1, String[] strs2) { if (null == strs1 || null == strs2 || strs1.length < 1 || strs2.length < 1) return strs1; int len1 = strs1.length; int len2 = strs2.length; boolean willBeRemoved; List remainList = new ArrayList(); for (int i = 0; i < len1; i++) { willBeRemoved = false; for (int j = 0; j < len2; j++) if (null != strs2[j] && strs2[j].equals(strs1[i])) { willBeRemoved = true; } if (!willBeRemoved) remainList.add((String) strs1[i]); } return (String[]) remainList.toArray(new String[0]); } /** * 用regex把str1和str2分割成数组之后,再从str1分割出来的数组中剔除包含在从str2种分割出来的数组中的元素。 * 最后返回用regex为分隔符拼成的数组字符串。 * * @param str1 * @param str2 * @param regex * @return */ public String removeString(String str1, String str2, String regex) { if (null == str1 || null == str2 || "".equals(str2) || "".equals(str1) || null == regex) return str1; String strs[] = removeStrings(str1.split(regex), str2.split(regex)); String result = ""; for (int i = 0; i < strs.length; i++) if (null != strs[i]) result += strs[i] + regex; return result; } /** * 将数组strs中为null或者为""的元素剔除 * * @param strs * @return */ public String[] removeNull(String[] strs) { if (null == strs || strs.length < 1) return strs; List strList = new ArrayList(); for (int i = 0; i < strs.length; i++) { if (null != strs[i] && !"".equals(strs[i].trim())) { strList.add((String) strs[i].trim()); } } return (String[]) strList.toArray(new String[0]); } /** * 改变str中strKeyList中的多个字符颜色为red */ public static String getSetRedString(String str, List strKeyList) { if (str == null) return null; if (strKeyList == null || strKeyList.size() < 0) return str; String flag = ""; for (int i = 0; i < strKeyList.size(); i++) { flag = (String) strKeyList.get(i); if (flag != null && !flag.equals("")) { if (str.indexOf(flag) >= 0) { str = str.replaceAll(flag, "<font color='red'>" + flag + "</font>"); } } } return str; } /** * * @方法描述:截取一个字符串指定长度的前几个字符 * @参数描述: * @param src * 要截取的字符串 * @param len * 要截取的长度 * @return */ public static String getStr(String src, int length) { if (src == null) return null; int len = length - 3; if (src.getBytes().length <= len) return src; byte[] s = src.getBytes(); int flag = 0; for (int i = 0; i < len; ++i) { if (s[i] < 0) flag++; } if (flag % 2 != 0) len--; byte[] d = new byte[len]; System.arraycopy(s, 0, d, 0, len); String ss = new String(d) + "..."; return ss; } /** * * @方法描述:截取一个字符串指定长度的前几个字符 * @参数描述: * @param src * 要截取的字符串 * @param len * 要截取的长度 * @return */ public static String getStrNo(String src, int length) { if (src == null) return null; int len = length - 3; if (src.getBytes().length <= len) return src; byte[] s = src.getBytes(); int flag = 0; for (int i = 0; i < len; ++i) { if (s[i] < 0) flag++; } if (flag % 2 != 0) len--; byte[] d = new byte[len]; System.arraycopy(s, 0, d, 0, len); String ss = new String(d); return ss; } /** * * @方法描述:将传入的null值该为空串 * @参数描述: * @param src * 要判断的对象 * @return */ public static String nullToString(Object obj) { if (obj == null || "null".equals(obj.toString())) { obj = ""; } return String.valueOf(obj).trim(); } /** * 对关键字检索,字符截取的处理 * * @param searchkey * 搜索的关键字 * @param targetStr * 目标字符串 * @param num * 截取的宽度 * @return */ public static String subStringSearchKey(String[] searchkey, String targetStr, int num) { String str = ""; if (searchkey.length != 0 && !searchkey[0].equals("") && nullToString(targetStr).length() != 0) { for (int i = 0; i <= searchkey.length - 1; i++) { int addressIndex = targetStr.indexOf(searchkey[i]); if (addressIndex != -1) { if (addressIndex >= num) { str += targetStr.substring(addressIndex - num, addressIndex + searchkey[i].length()); } else { str += targetStr.substring(0, addressIndex + searchkey[i].length()); } if (targetStr.length() - addressIndex - searchkey[i].length() <= num) { str += targetStr.substring(addressIndex + searchkey[i].length()); } else { str += targetStr.substring(addressIndex + searchkey[i].length(), addressIndex + searchkey[i].length() + num); } } else { str = targetStr; } } } else { str = targetStr; } return str; } /** * 把文本处理成html * @param s * @return */ public static String htmLEncode(String s) { char[] htmlChars = s.toCharArray(); StringBuffer encodedHtml = new StringBuffer(); for (int i = 0; i < htmlChars.length; i++) { switch (htmlChars[i]) { case '<': encodedHtml.append("<"); break; case '>': encodedHtml.append(">"); break; case '&': encodedHtml.append("&"); break; case '\'': encodedHtml.append("'"); break; case '"': encodedHtml.append("""); break; case '\\': encodedHtml.append("\"); break; case (char) 133: encodedHtml.append("…"); break; default: encodedHtml.append(htmlChars[i]); break; } } return encodedHtml.toString(); } /** * 去掉字符串首尾的空格和';' * @param string * @return */ public static String getTrimStr(String string) { if(string==null || string.isEmpty())return ""; string = string.trim(); if(string.endsWith(";")){string = string.substring(0,string.length()-1);} if(string.startsWith(";")){string = string.substring(1,string.length());} return string; } public static void main(String args[]) { /* String b = getStr("是个wer蛋,是不是啊", 10); String str = "'hdhhd'"; String sta = "asfdasfd是个wer蛋,是不是啊"; String[] d = new String[] { "wer", "," }; String ab = subStringSearchKey(d, sta, 5); System.out.println(ab);*/ String t1 = "2008-05-09"; String t2 = "2009-5-13"; try { System.out.println(StringUtil.getBetweenDays(t1, t2)); } catch (ParseException e) { e.printStackTrace(); } } }
- 字符串工具类.zip (2.9 KB)
- 下载次数: 2
发表评论
-
Linux Crontab + rsync 实现远程备份
2012-09-11 17:27 4429公司图片服务器上的资 ... -
Ibatis2 调用 SqlServer2005 存储过程 返回结果集处理方法
2012-02-25 15:53 1630开发环境:Eclipse3.2 应用服务器:jbossweb ... -
nginx 利用 X-Accel-Redirect response header 控制文件下载
2011-11-23 17:21 11610自己开发的项目有下载的功能,刚开始的时候由于用户少,利 ... -
Eclipse svn 插件分支合并使用那点事儿
2011-08-09 11:57 11470最近,开发的项目遇到 ... -
shell 中调用 java main 函数
2011-08-09 11:13 2893JAVA_HOME=/usr/java/jdk1.6.0_13 ... -
ant + jsch 远程发布web工程
2011-03-28 18:28 1581在内网开发的两个工程使用ant 发布。 <? ... -
权限设置思路
2011-01-21 14:25 10441.在web中加载权限每次去连接数据库比较影响性能 建议创建一 ... -
利用 Set 去掉 list中重复值
2010-11-17 18:31 7213今天,在开发的时候遇到了去掉list中的重复值,去掉重复的 ... -
jvm 的参数配置
2010-11-16 20:03 578J2EE 参数配置优化 参考 h ... -
j2ee 可执行jar制作方法
2010-10-26 15:01 1092Class-Path: 在公司 ... -
JAVA-用HttpClient来模拟浏览器GET,POST [转]
2010-10-14 18:20 946JAVA-用HttpClient来模拟浏览器GET,POST ... -
工具类_验证码
2010-09-14 14:29 825<%@page import="java.io ... -
网上收集工具类
2010-09-14 14:23 890在网上收集的一份。 -
工具类_时间处理
2010-09-14 14:02 1126/** *create Date: 2009-01-20 ... -
工程重定向
2010-07-12 10:40 912<meta http-equiv="refre ... -
俞敏洪同济大学演讲:度过有意义的生命[转]
2010-06-25 14:56 1018其实人活着就挺好,至 ... -
java加密算法
2010-05-25 19:04 944在站内看到了java 加密算法这类牛 ... -
反了一个撞墙的问题--el <c:if> 用法
2010-04-13 15:45 2432昨天在开发中遇到一个问题 用el 表达式判读 &l ... -
转-网站架构收集列表
2010-04-08 19:03 1025WikiPedia 技术架构学习分享http://www.db ...
相关推荐
4. **VC++的集成开发环境**:VC++不仅提供了编写和编译代码的工具,还有调试器、资源编辑器等,使得开发者可以方便地进行字符串处理程序的开发和测试。 5. **字符串常量和变量**:在C++中,字符串常量是不可变的,...
在IT领域,字符串处理是一项基础且重要的技能,广泛应用于编程语言如C,C++,Java,Python等。本文将深入探讨“zifuchuan.rar_字符串处理”这一主题,涵盖字符串的基本概念、常见操作以及字符串之间的转换方法。 ...
`MyString_string_字符串处理_`这个标题暗示我们将探讨`std::string`类的各种操作,包括但不限于运算符重载、字符串拼接以及倒序输出。 首先,**运算符重载**是C++中的一个重要特性,允许我们为自定义类型(如`std:...
在Delphi编程环境中,字符串处理是一项基础且重要的任务。初学者常常会遇到如何在特定位置删除字符串中的某个部分。在Delphi7中,这可以通过多种方法实现,包括使用内置的字符串函数、正则表达式或者自定义的逻辑。...
- `Rep.cpp` 和 `REP2.CPP`:可能包含与字符串处理相关的函数,如查找、替换和使用正则表达式的其他操作。 - `Stdafx.cpp`:预编译头文件,通常包含项目所需的预定义宏和通用包含文件。 - `Regexp.dsp` 和 `All ...
3. 字符串的处理:工具类需要能够正确地处理字符串中的占位符和普通字符。 在工具类的实现中,使用了StringBuilder和StringBuffer等技术来提高处理性能。同时,工具类还提供了对占位符的逃逸机制,以便在需要时逃逸...
在编程领域,尤其是在C++环境中,字符串处理是至关重要的任务之一。MFC(Microsoft Foundation ...通过学习和使用这个自定义字符串类,开发者可以更好地优化其代码的性能,特别是在字符串处理密集型的应用程序中。
java字符串处理的util工具类,也可以同时添加一些其他字符处理的方法,对于项目中特殊字符处理,完成项目中基本的字串符处理。
本篇文章将基于提供的“c++字符串简单加密.zip”文件中的内容,深入探讨C++中的字符串处理和基本加密方法。 首先,我们要理解C++中的字符串。在C++标准库中,`std::string`类是用于表示和操作字符串的主要工具。它...
在IT行业中,字符串是编程语言中最基础且重要的数据类型之一,用于存储和处理文本信息。在本实例"实例76_字符串相关_自动填充"中,我们将深入探讨字符串的自动填充技术,它在多种场景下都非常实用,比如格式化输出、...
在这个项目中,开发者可能结合了MFC的类库与STL的模板类,如`std::string`,来构建一个更高效、更灵活的字符串处理机制。 快速搜索通常涉及到字符串匹配算法,如KMP算法、Boyer-Moore算法或Rabin-Karp算法。这些...
总的来说,这个自定义的`XString`类和`XStringUtil`工具类提供了更丰富的字符串处理功能,旨在简化开发者的代码,提高程序的可读性和效率。通过深入理解和使用这些工具,可以更好地处理字符串相关的任务,使得代码...
自己整理的StringUtil ,字符串处理工具类,很全面的方法,对象之间的数据转换
在这个案例中,`StringProcess.h`可能包含了`StringProcess`类的定义,其中声明了各种字符串处理函数,而`StringProcess.cpp`则实现了这些函数的具体逻辑。 描述中提到的一个关键函数是`Split`,这是一个用于字符串...
`lexical_cast`在处理字符串转换时,内部会调用C++标准库的`std::stringstream`,将字符串解析或格式化为所需的目标类型。 首先,让我们了解如何使用`lexical_cast`将字符串转换为数值。假设我们有一个字符串`std::...
在IT行业中,字符转换工具类是编程中常见的一种实用工具,尤其在处理字符串与各种编码格式之间转换时显得尤为重要。这个“字符转换工具类”似乎是一个专门为生成HTML源码而设计的工具,它包含了全面的源码实现,并且...
在IT开发过程中,工具类和字符串处理工具是程序员日常工作中不可或缺的部分。本资源提供了一个名为"StringUtil"的自定义工具类,以及一个用于Excel导出的功能。这些工具可以帮助开发者简化代码,提高效率,同时附带...
在IT行业中,字符串处理工具是程序员和数据分析师日常工作中不可或缺的一部分。这些工具帮助用户进行文本操作,例如查找、替换、格式化、加密和解密等。"被爱可以字符串处理工具"显然是一款专为此目的设计的软件,它...
字符串处理是编程中非常常见的任务,因此,一个字符串工具类会包含许多对字符串进行操作的方法。这可能包括字符串的格式化、分割、连接、查找和替换、去除空白字符、大小写转换、检查是否符合特定模式(如邮箱格式...