Here you can find the source of subStitute(String value, String pattern, String replacement)
public static String subStitute(String value, String pattern, String replacement)
//package com.java2s; /**//from w w w . j a v a2 s. c o m * * Copyright 2008 - 2009 * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * * @project loonframework * @author chenpeng * @email?ceponline@yahoo.com.cn * @version 0.1 */ import java.util.ArrayList; import java.util.List; public class Main { public static String subStitute(String value, String pattern, String replacement) { if (value == null || value.length() == 0) return value; if (pattern == null || pattern.length() == 0) return value; StringBuffer sb = new StringBuffer(); do { int patternIndex = value.indexOf(pattern); if (patternIndex == -1) { sb.append(value); break; } sb.append(value.substring(0, patternIndex) + replacement); value = value.substring(patternIndex + pattern.length(), value.length()); } while (true); return sb.toString(); } public static int length(String s) { if (s == null) return 0; else return s.getBytes().length; } public static List subString(String in, String open, String end) { List list = new ArrayList(); while (true) { int from = in.indexOf(open, 0); if (from == -1) break; in = in.substring(from + open.length(), in.length()); int to = in.indexOf(open, 0); int mid = in.indexOf(open); if ((mid > to || mid == -1) && to != -1) { list.add(in.substring(0, to)); } } return list; } public static String toString(String str) { if (str == null || str.length() == 0) return ""; else return str.trim(); } public static String[] trim(String[] s) { if (s == null) { return null; } for (int i = 0, len = s.length; i < len; i++) { s[i] = s[i].trim(); } return s; } public static String trim(String s, char delimit[]) { if (s == null) { return null; } int length = s.length(); int beginIndex = 0; int endIndex = length; for (; beginIndex < length; beginIndex++) { char c = s.charAt(beginIndex); boolean found = false; for (int i = 0; i < delimit.length; i++) { if (delimit[i] != c) { continue; } found = true; break; } if (!found) break; } for (; endIndex > beginIndex; endIndex--) { char c = s.charAt(endIndex - 1); boolean found = false; for (int i = 0; i < delimit.length; i++) { if (delimit[i] != c) continue; found = true; break; } if (!found) break; } if (beginIndex == endIndex) return ""; if (beginIndex > 0 || endIndex < length) return s.substring(beginIndex, endIndex); else return s; } }