JAVA-字串過濾類<br />package cn.com.hbivt.util;<br />/**<br />* <p>Title: </p><br />*<br />* <p>Description: </p><br />*<br />* <p>Copyright: Copyright (c) 2005</p><br />*<br />* <p>Company: </p><br />*<br />* @author not attributable<br />* @version 1.0<br />*/<br />public class StringUtils {<br /> //過濾通過頁面表單提交的字元<br /> private static String[][] FilterChars={{"<","<"},{">",">"},{" "," "},{"/"","""},{"&","&"},<br /> {"/","/"},{"//","/"},{"/n","<br>"}};<br /> //過濾通過javascript指令碼處理並提交的字元<br /> private static String[][] FilterScriptChars={{"/n","/'+/'//n/'+/'"},<br /> {"/r"," "},{"//","/'+/'/////'+/'"},<br /> {"/'","/'+/'///'/'+/'"}};</p><p> /**<br /> * 用特殊的字元連接字串<br /> * @param strings 要串連的字串數組<br /> * @param spilit_sign 串連字元<br /> * @return 連接字串<br /> */<br /> public static String stringConnect(String[] strings,String spilit_sign){<br /> String str="";<br /> for(int i=0;i<strings.length;i++){<br /> str+=strings[i]+spilit_sign;<br /> }<br /> return str;<br /> }</p><p> /**<br /> * 過濾字串裡的的特殊字元<br /> * @param str 要過濾的字串<br /> * @return 過濾後的字串<br /> */<br /> public static String stringFilter(String str){<br /> String[] str_arr=stringSpilit(str,"");<br /> for(int i=0;i<str_arr.length;i++){<br /> for(int j=0;j<FilterChars.length;j++){<br /> if(FilterChars[j][0].equals(str_arr[i]))<br /> str_arr[i]=FilterChars[j][1];<br /> }<br /> }<br /> return (stringConnect(str_arr,"")).trim();<br /> }</p><p> /**<br />* 過濾指令碼中的特殊字元(包括斷行符號符(/n)和分行符號(/r))<br />* @param str 要進行過濾的字串<br />* @return 過濾後的字串<br />* 2004-12-21 閆<br />*/<br />public static String stringFilterScriptChar(String str){<br />String[] str_arr=stringSpilit(str,"");<br />for(int i=0;i<str_arr.length;i++){<br /> for (int j = 0; j < FilterScriptChars.length; j++) {<br /> if (FilterScriptChars[j][0].equals(str_arr[i]))<br /> str_arr[i] = FilterScriptChars[j][1];<br /> }<br />}<br />return(stringConnect(str_arr,"")).trim();<br />}</p><p> /**<br /> * 分割字串<br /> * @param str 要分割的字串<br /> * @param spilit_sign 字串的分割標誌<br /> * @return 分割後得到的字串數組<br /> */<br /> public static String[] stringSpilit(String str,String spilit_sign){<br /> String[] spilit_string=str.split(spilit_sign);<br /> if(spilit_string[0].equals(""))<br /> {<br /> String[] new_string=new String[spilit_string.length-1];<br /> for(int i=1;i<spilit_string.length;i++)<br /> new_string[i-1]=spilit_string[i];<br /> return new_string;<br /> }<br /> else<br /> return spilit_string;<br /> }</p><p> /**<br /> * 字串字元集轉換<br /> * @param str 要轉換的字串<br /> * @return 轉換過的字串<br /> */<br /> public static String stringTransCharset(String str){<br /> String new_str=null;<br /> try{<br /> new_str=new String(str.getBytes("iso-8859-1"),"GBK");<br /> }<br /> catch(Exception e){<br /> e.printStackTrace();<br /> }<br /> return new_str;<br /> }</p><p> /**<br /> * 測試字串處理類<br /> * @param args 控制台輸入參數<br /> */<br /> public static void main(String[] args){</p><p> //測試字串過濾<br /> String t_str1="<h1>StringDispose字串 處理/n/r/'/"</h1>";<br /> System.out.println("過濾前:"+t_str1);<br /> System.out.println("過濾後:"+StringUtils.stringFilter(t_str1));<br /> //測試合并字串<br /> String[] t_str_arr1={"PG_1","PG_2","PG_3"};<br /> String t_str2=StringUtils.stringConnect(t_str_arr1,",");<br /> System.out.println(t_str2);<br /> //測試拆分字串<br /> String[] t_str_arr2=StringUtils.stringSpilit(t_str2,",");<br /> for(int i=0;i<t_str_arr2.length;i++){<br /> System.out.println(t_str_arr2[i]);<br /> }<br /> }<br />}</p><p>