`
hujin1979
  • 浏览: 80163 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

字符串处理集锦

阅读更多

在我参与的项目里面,我总喜欢把对一些细节处理的代码放在叫utils的根包下面,碰到要用的时候就直接调用,节省了好多开发的时间。这些年来,我从网络收集和自己编码的有很多,有些我都不知道放在电脑什么位置了,把有些拿出来做个网络笔记免得以后什么都没有了,我这个人比较邋遢了,唉!

private static char[] ch = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i','j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v','w', 'x', 'y', 'z' }; 
public static String RandStrings(int len) { 
  Random r = new Random(); 
  String tmp = ""; 
  for (int i = 0; i < len; i++) { 
     int d = r.nextInt(ch.length); 
     tmp = tmp + ch[d]; 
  } 
     return tmp; 
} 

         /** 
          * 
* 获取当前时间 
* 
* @param male 
* @return 
*/ 
public static Date getCurrentDateForDate() throws Exception { 
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd HH:ss:mm"); 
   Date date = sf.parse(Utils.getCurrentDate()); 
   return date; 
} 


/** 
* 把第一次出现html的字符串之前的字符串清除掉 
* 
* @param sourceString 
*            源字符串 
* @return 清除后的字符串 
*/ 
public static String SpecialString(String sourceString) { 
String w3chtml = ""; 
if (sourceString == null){ 
return w3chtml; 
}else{ 
int firstIndex = sourceString.indexOf("<html"); 
//System.out.println(firstIndex); 
if(firstIndex>=0){ 
w3chtml = sourceString.substring(firstIndex); 
} 
} 
return w3chtml; 
} 

/** 
* 获取此URL的协议名称 
* 
* @param sourceString 
*            源字符串 
* @return 处理后的字符串 
*/ 
public static String getProtocol(String url) { 
String result = ""; 
if (url == null){ 
return result; 
}else{ 
try{ 
URL myURL=new URL(url); 
result = myURL.getProtocol(); 
}catch (MalformedURLException e){ 
e.printStackTrace(); 
} 
} 
return result; 
} 

/** 
* 从访问的URL中获取网站的域名 
* 
* @param sourceString 
*            源字符串 
* @return 处理后的字符串 
*/ 
public static String getDomain(String sourceString) { 
String result = ""; 
if (sourceString == null){ 
return result; 
}else{ 
String[] domains = sourceString.split("/"); 
result = domains[0] + "//" + domains[1] + domains[2]; 
} 
return result; 
} 

/** 
* 从访问的URL中获取该URL的根目录 
* 
* @param sourceString 
*            源字符串 
* @return 处理后的字符串 
*/ 
public static String getLastPath(String sourceString) { 
String result = ""; 
String[] domains; 
if (sourceString == null){ 
return result; 
}else{ 
domains = sourceString.split("/"); 
result = domains[0]+"//"+domains[1]+domains[2]; 
} 
for(int i = 3;i < domains.length-1;i++){ 
result +="/" + domains[i]; 
} 
return result; 
} 

public static String getTruePath(String sourceString,int n) { 
String result = ""; 
String[] domains; 
if (sourceString == null){ 
return result; 
}else{ 
domains = sourceString.split("/"); 
result = domains[0]+"//"+domains[1]+domains[2]; 
} 
for(int i = 3;i < domains.length-1-n;i++){ 
result +="/" + domains[i]; 
} 
return result; 
} 

public static String getAppath(String sourceString) { 
String result = ""; 
String[] domains; 
if (sourceString == null){ 
return result; 
} 
domains = sourceString.split("[..]{2}+[^.]"); 
int i = domains.length; 
result = domains[i-1]; 

return result; 
} 

/** 
* 判断字符串是否以字母和数字开始 
* 
* @param sourceString 
*            源字符串 
* @return 处理后的结果 
*/ 
public static Boolean isLetterOrNumberStart(String sourceString) { 
Boolean result = false; 
String regex = "^[a-zA-Z_0-9]"; 
Pattern p = Pattern.compile(regex); 
Matcher m = p.matcher(sourceString); 
if (m.find()){ 
result = true; 
}else{ 
result = false; 
} 
return result; 
} 

/** 
* 判断字符串是否以一个"/"开始且紧跟后面一个不能也为"/" 
* 
* @param sourceString 
*            源字符串 
* @return 处理后的结果 
*/ 
public static Boolean isSlashStart(String sourceString) { 
Boolean result = false; 
String regex = "^[/]{1}+[^/]"; 
Pattern p = Pattern.compile(regex); 
Matcher m = p.matcher(sourceString); 
if (m.find()){ 
result = true; 
}else{ 
result = false; 
} 
return result; 
} 

/** 
* 判断字符串"js"结尾 
* 
* @param sourceString 
*            源字符串 
* @return 处理后的结果 
*/ 
public static Boolean isJsFile(String sourceString) { 
Boolean result = false; 
int len = sourceString.length(); 
if ("js".equals(sourceString.substring(len-2, len))){ 
result = true; 
}else{ 
result = false; 
} 
return result; 
} 

public static int DoubleDotNum(String url){ 
int num = 0; 
String[] ads=url.split("[..]{2}+[^.]"); 
int len = ads.length; 
if(len>0) num=len-1; 
return num; 
} 



/** 
* 把空值转换为空字符串 
* 
* @param srcString 
*            源字符串 
* @return 非null字符串 
*/ 
public static String nullToString(String srcString) { 
if (srcString == null) 
return new String(""); 
else 
return srcString; 
} 

/** 
* @param value 
* @param len 
* @return String 
*/ 
public static String limitString(String value){ 
if (value == null) value = ""; 
String v1 = ""; 
int l = value.length(); 
if (l > 6){ 
v1 = value.substring(0, 5) + "***"; 
if (l > 9) v1 += value.substring(9); 
} 
else{ 
v1 = value; 
} 
return v1; 
} 

/** 
* 将UNICODE转化为utf-8编码(&#xxxx) 
* 
* @param srcString 
*            源字符串 
* 
* @return String UTF8标记字符串 
*/ 
public static String toUTF8(String srcString) { 
char temChr; 
int ascChr; 
String rtStr = new String(""); 
if (srcString == null) 
srcString = ""; 
for (int i = 0; i < srcString.length(); i++) { 
temChr = srcString.charAt(i); 
ascChr = temChr + 0; 
rtStr += "&#x" + Integer.toHexString(ascChr) + ";"; 
} 
return rtStr; 
} 

/** 
* 把空值替换为指定字符串 
* 
* @param srcString 
*            源字符串 
* @param toString 
*            用于替换的字符串 
* @return 非null字符串 
*/ 
public static String nullToString(String srcString, String toString) { 
if (srcString == null) 
return toString; 
else 
return srcString; 
} 

/** 
* 把字符创转换为布尔类型,默认返回defaultValue 
* 
* @param srcString 
*            源字符串("true"/"false") 
* @param defaultValue 
*            默认值 
* @return boolean 是否为真 
*/ 
public static boolean toBoolean(String srcString, boolean defaultValue) { 
if (srcString == null) 
return false; 
if (srcString.trim().toLowerCase().equals("true")) 
return true; 
else 
return false; 
} 

/** 
* 按 fromCharset 编码读取,以 toCharset 编码格式输出字符串 
* 
* @param srcString 
*            源字符串 
* @param fromCharset 
*            读取方式编码(UTF-8/GBK/GB2312) 
* @param toCharset 
*            输出字符编码(UTF-8/GBK/GB2312) 
* @return String Charset指定字符串 
*/ 
public static String toCharset(String srcString, String fromCharset, 
String toCharset) { 
if (srcString == null) return null; 
try { 
return new String(srcString.getBytes(fromCharset), toCharset); 
} catch (Exception e) { 
return null; 
} 
} 

/** 
* 把字符串转换为双精度数,默认返回defaultValue 
* 
* @param srcString 
*            源字符串 
* @param defaultValue 
*            默认数值 
* @return double 双精度数 
*/ 
public static double toDouble(String srcString, double defaultValue) { 
double dReturn = 0.0D; 
if (srcString == null || srcString.trim().length() < 1) return defaultValue; 
try { 
srcString = srcString.trim().replaceAll(",", ""); 
dReturn = Double.valueOf(srcString.trim()).doubleValue(); 
} catch (NumberFormatException e) { 
dReturn = defaultValue; 
} 
return dReturn; 
} 

/** 
* 把字符串转换为浮点数,默认返回defaultValue 
* 
* @param srcString 
*            源字符串 
* @param defaultValue 
*            默认数值 
* @return float 浮点数 
*/ 
public static float toFloat(String srcString, float defaultValue) { 
float fReturn = 0.0F; 
if (srcString == null || srcString.trim().length() < 1) return defaultValue; 
try { 
srcString = srcString.trim().replaceAll(",", ""); 
Double Dv = new Double(Double.valueOf(srcString).doubleValue()); 
fReturn = Dv.floatValue(); 
} catch (NumberFormatException e) { 
fReturn = defaultValue; 
} 
return fReturn; 
} 

/** 
* 把字符串转换为整数,默认返回defaultValue 
* 
* @param srcString 
*            源字符串 
* @param defaultValue 
*            默认数值 
* @return int 取得的数值 
*/ 
public static int toInt(String srcString, int defaultValue) { 
int iReturn = 0; 
if (srcString == null || srcString.trim().length() < 1) return defaultValue; 
try { 
srcString = srcString.trim().replaceAll(",", ""); 
Double Dv = new Double(Double.valueOf(srcString).doubleValue()); 
iReturn = Dv.intValue(); 
} catch (NumberFormatException e) { 
iReturn = defaultValue; 
} 
return iReturn; 
} 

/** 
* 把字符串转换为整数(四舍五入),默认返回defaultValue 
* 
* @param srcString 
*            源字符串 
* @param defaultValue 
*            默认数值 
* @return int 取得的数值 
*/ 
public static int toIntRound(String srcString, int defaultValue) { 
int iReturn = 0; 
if (srcString == null || srcString.trim().length() < 1) return defaultValue; 
try { 
srcString = srcString.trim().replaceAll(",", ""); 
float fv = Float.valueOf(srcString).floatValue(); 
iReturn = Math.round(fv); 
} catch (NumberFormatException e) { 
iReturn = defaultValue; 
} 
return iReturn; 
} 

/** 
* 把某种编码字符串转换为Unicode字符串 
* 
* @param srcString 
*            源字符串 
* @param fromCharset 
*            读取方式编码(UTF-8/GBK/GB2312) 
* @return String 被格式化的Unicode字符串 
*/ 
public static String toUnicode(String srcString, String fromCharset) { 
return toCharset(srcString, fromCharset, "ISO-8859-1"); 
} 

/** 
* 以默认编码格式对Unicode字符进行转换 
* 
* @param srcString 
*            源字符串 
* @return String 默认字符编码字符串 
*/ 
public static String unicodeToString(String srcString) { 
try { 
return new String(srcString.getBytes("ISO-8859-1")); 
} catch (Exception e) { 
return null; 
} 
} 

/** 
* 按 Unicode 编码读取,以 toCharset 编码格式输出字符串 
* 
* @param srcString 
*            源字符串 
* @param toCharset 
*            输出字符编码(UTF-8/GBK/GB2312) 
* @return String Charset指定字符串 
*/ 
public static String unicodeToString(String srcString, String toCharset) { 
return toCharset(srcString, "ISO-8859-1", toCharset); 
} 

/** 
* 字符处理类 
*/ 
public StringUtil() { 

} 

 

复制到编辑器里面的,懒得整理格式了,我这个人比较懒惰,没有办法,所有现在水平还是那么的烂,呵呵!找到这个文章的你们觉得有用,就挑上看得上的用吧,我是无私地贡献一下代码而已。

 

分享到:
评论

相关推荐

    纯C++ 字符串处理函数大全源码

    这个"纯C++ 字符串处理函数大全源码"正是为了满足这种需求而设计的,它包含了作者自定义封装的一系列字符串操作函数。 首先,`StringProcess.cpp`和`StringProcess.h`是C++中的源代码文件和头文件。`.cpp`文件通常...

    DB2字符串处理 字符串处理 db2 函数

    DB2 字符串处理函数 DB2 中的字符串处理函数可以分为多种类型,包括字符转换函数、去空格函数、取子串函数、字符串比较函数和字符串操作函数等。 一、字符转换函数 * ASCII() 函数:返回字符表达式最左端字符的 ...

    库卡机器人高级字符串处理指令文档

    库卡机器人高级字符串处理指令文档 库卡机器人高级字符串处理指令文档是一份详细的指令文档,旨在提供给库卡机器人用户和开发者,用于了解和掌握高级字符串处理指令的使用方法和技术细节。该文档涵盖了CREAD/CWRITE...

    字符串处理函数列表,字符串处理函数列表

    字符串处理函数是编程语言中非常重要的工具,它们用于操作、分析和操纵文本数据。以下是一些常见的字符串处理函数,这些函数通常在C语言或其他类似语言中使用,虽然这里没有提供具体的编程语言环境,但理解这些函数...

    rf.rar_RF 字符串截取_Rf字符串比较_rf字符串切割

    在这个"rf.rar"压缩包中,我们看到涉及到RF字符串处理的三个关键知识点:RF字符串截取、RF字符串比较以及RF字符串切割。 1. RF字符串截取: 正则表达式提供了灵活的字符串截取方式。通过定义匹配模式,可以精确地...

    汇编字符串处理

    ### 汇编语言中的字符串处理技术解析 在计算机编程领域,尤其是在低级语言如汇编语言中,字符串处理是一项核心技能,它涉及到对字符序列的搜索、替换、删除及插入等操作。本文将深入探讨汇编语言中字符串处理的关键...

    VB字符串处理函数_字符串处理函数_VB_

    在VB(Visual Basic)编程语言中,字符串处理是日常开发工作中的重要组成部分。字符串是由一个或多个字符组成的序列,它们可以表示文本数据。VB提供了一系列的内置函数来帮助程序员进行字符串的操作和处理,使得对...

    字符串处理系统课程设计.doc

    字符串处理系统课程设计 在这个课程设计中,我们将学习如何设计和实现一个字符串处理系统,该系统具有字符串赋值、字符串长度计算、字符串复制、字符串比较、字符串查找、字符串插入和字符串删除等功能。这个系统...

    excel vba字符串处理大全

    Excel VBA字符串处理大全 VBA 中的字符串可以分为两类:固定长度的字符串和动态字符串。固定长度的字符串声明时包含指字的字符数,例如 `Dim strFixedLong As String*100`,总是只包含 100 个字符,但字符串最长不...

    C++字符串处理大集合

    C++字符串处理大集合 在 C++ 中,字符串处理是非常重要的一部分,对于初学者来说,掌握字符串处理函数是非常必要的。下面我们将对 C++ 中的字符串处理函数进行详细的介绍。 C 语言字符串处理函数 1. 字符串长度:...

    work2_分割字符串_字符串处理_

    在编程领域,字符串处理是日常工作中非常常见的任务。本文将深入探讨如何在各种编程语言中进行字符串分割以及一些基本的字符串运算,以帮助你更好地理解和应用这些技术。 首先,我们来关注“分割字符串”这一主题。...

    C++字符串处理类库及范例

    在C++编程中,字符串处理是一项至关重要的任务,它涉及到数据的输入、输出以及操作。C++标准库提供了丰富的工具来处理字符串,但有时我们还需要更高效或特定功能的库来增强我们的代码。"C++字符串处理类库及范例...

    字符串比较处理宏 超级好用

    字符串比较处理宏字符串比较处理宏字符串比较处理宏字符串比较处理宏

    字符串处理系统.cpp

    多重字符处理机制,仿照python字符串处理写的一个针对c++的字符串处理

    字符串处理通用程序汇编语言

    《字符串处理通用程序汇编语言》 在计算机编程中,字符串处理是一项基本且重要的任务,涉及到文本数据的查找、删除、替换以及插入等操作。本文将深入探讨如何使用汇编语言实现这些功能,并分析相关寄存器的作用和...

    VB中对字符串的处理及其扩展

    本文将详细介绍VB中对于字符串处理的基本方法及其一些实用的扩展技巧。 #### 1. 基本字符串操作 ##### 1.1 `Left`, `Right`, `Mid` 函数 - **`Left`**:返回字符串左侧指定数量的字符。 - 示例:`Left("Hello ...

    C语言字符串处理函数

    几个字符串处理函数增强版 常用需求基本都能完成 已经编译成DLL 函数列表 兼容字符和串 void revstr char str 字符串反转 int substring char res int pos int len char substr 从pos开始取len个字符到substr中 ...

Global site tag (gtag.js) - Google Analytics