常用java字符串操作函数(转)

[代码] java代码

view source
print ?
001 /**
002    * 分割字符串
003    *
004    * @param str String 原始字符串
005    * @param splitsign String 分隔符
006    * @return String[] 分割后的字符串数组
007    */
008 @SuppressWarnings("unchecked")
009 public static String[] split(String str, String splitsign) {
010     int index;
011     if (str == null || splitsign == null)
012       return null;
013     ArrayList al = new ArrayList();
014     while ((index = str.indexOf(splitsign)) != -1) {
015       al.add(str.substring(0, index));
016       str = str.substring(index + splitsign.length());
017     }
018     al.add(str);
019     return (String[]) al.toArray(new String[0]);
020 }
021   
022 /**
023    * 替换字符串
024    *
025    * @param from String 原始字符串
026    * @param to String 目标字符串
027    * @param source String 母字符串
028    * @return String 替换后的字符串
029    */
030 public static String replace(String from, String to, String source) {
031     if (source == null || from == null || to == null)
032       return null;
033     StringBuffer bf = new StringBuffer("");
034     int index = -1;
035     while ((index = source.indexOf(from)) != -1) {
036       bf.append(source.substring(0, index) + to);
037       source = source.substring(index + from.length());
038       index = source.indexOf(from);
039     }
040     bf.append(source);
041     return bf.toString();
042 }
043   
044 /**
045    * 替换字符串,能能够在HTML页面上直接显示(替换双引号和小于号)
046    *
047    * @param str String 原始字符串
048    * @return String 替换后的字符串
049    */
050 public static String htmlencode(String str) {
051     if (str == null) {
052       return null;
053     }
054   
055     return replace("/"", "&quot;", replace("<", "&lt;", str));
056 }
057   
058 /**
059    * 替换字符串,将被编码的转换成原始码(替换成双引号和小于号)
060    *
061    * @param str String
062    * @return String
063    */
064 public static String htmldecode(String str) {
065     if (str == null) {
066       return null;
067     }
068   
069     return replace("&quot;", "/"", replace("&lt;", "<", str));
070 }
071   
072 private static final String _BR = "<br/>";
073   
074 /**
075    * 在页面上直接显示文本内容,替换小于号,空格,回车,TAB
076    *
077    * @param str String 原始字符串
078    * @return String 替换后的字符串
079    */
080 public static String htmlshow(String str) {
081     if (str == null) {
082       return null;
083     }
084   
085     str = replace("<", "&lt;", str);
086     str = replace(" ", "&nbsp;", str);
087     str = replace("/r/n", _BR, str);
088     str = replace("/n", _BR, str);
089     str = replace("/t", "&nbsp;&nbsp;&nbsp;&nbsp;", str);
090     return str;
091 }
092   
093 /**
094    * 返回指定字节长度的字符串
095    *
096    * @param str String 字符串
097    * @param length int 指定长度
098    * @return String 返回的字符串
099    */
100 public static String toLength(String str, int length) {
101     if (str == null) {
102       return null;
103     }
104     if (length <= 0) {
105       return "";
106     }
107     try {
108       if (str.getBytes("GBK").length <= length) {
109         return str;
110       }
111     } catch (Exception ex) {
112     }
113     StringBuffer buff = new StringBuffer();
114   
115     int index = 0;
116     char c;
117     length -= 3;
118     while (length > 0) {
119       c = str.charAt(index);
120       if (c < 128) {
121         length--;
122       } else {
123         length--;
124         length--;
125       }
126       buff.append(c);
127       index++;
128     }
129     buff.append("...");
130     return buff.toString();
131 }
132   
133 /**
134    * 判断是否为整数
135    *
136    * @param str 传入的字符串
137    * @return 是整数返回true,否则返回false
138    */
139 public static boolean isInteger(String str) {
140     Pattern pattern = Pattern.compile("^[-//+]?[//d]*$");
141     return pattern.matcher(str).matches();
142 }
143   
144 /**
145    * 判断是否为浮点数,包括double和float
146    *
147    * @param str 传入的字符串
148    * @return 是浮点数返回true,否则返回false
149    */
150 public static boolean isDouble(String str) {
151     Pattern pattern = Pattern.compile("^[-//+]?[.//d]*$");
152     return pattern.matcher(str).matches();
153 }
154   
155 /**
156    * 判断输入的字符串是否符合Email样式.
157    *
158    * @param str 传入的字符串
159    * @return 是Email样式返回true,否则返回false
160    */
161 public static boolean isEmail(String str) {
162     Pattern pattern = Pattern.compile("^//w+([-+.]//w+)*@//w+([-.]//w+)*//.//w+([-.]//w+)*$");
163     return pattern.matcher(str).matches();
164 }
165   
166 /**
167    * 判断输入的字符串是否为纯汉字
168    *
169    * @param str 传入的字符窜
170    * @return 如果是纯汉字返回true,否则返回false
171    */
172 public static boolean isChinese(String str) {
173     Pattern pattern = Pattern.compile("[/u0391-/uFFE5]+$");
174     return pattern.matcher(str).matches();
175 }
176   
177 /**
178    * 是否为空白,包括null和""
179    *
180    * @param str
181    * @return
182    */
183 public static boolean isBlank(String str) {
184     return str == null || str.trim().length() == 0;
185 }
186   
187 /**
188 * 判断是不是合法手机
189 * handset 手机号码
190 */
191 public static boolean isHandset(String handset) {
192 try {
193    if(!handset.substring(0,1).equals("1")) {
194     return false;
195    }
196    if (handset==null || handset.length()!=11) {
197     return false;
198    }
199    String check = "^[0123456789]+$";
200    Pattern regex = Pattern.compile(check);
201    Matcher matcher = regex.matcher(handset);
202    boolean isMatched = matcher.matches();
203    if(isMatched) {
204     return true;
205    } else {
206     return false;
207    }
208 } catch (RuntimeException e) {
209    return false;
210 }
211 }
212 }

你可能感兴趣的:(常用java字符串操作函数(转))