Here you can find the source of collapse(String str, String chars, String replacement)
This is a more general version of collapseWhitespace.
Parameter | Description |
---|---|
str | the string you want to munge |
chars | all of the characters to be considered for munge |
replacement | the replacement string |
@Deprecated public static String collapse(String str, String chars, String replacement)
//package com.java2s; /*/*from w w w . j a v a 2s .c o m*/ * Copyright (C) 2000 Google Inc. * * 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. */ public class Main { /** * Replaces any string of matched characters with the supplied string.<p> * * This is a more general version of collapseWhitespace. * * <pre> * E.g. collapse("hello world", " ", "::") * will return the following string: "hello::world" * </pre> * * @param str the string you want to munge * @param chars all of the characters to be considered for munge * @param replacement the replacement string * @return munged and replaced string. * @deprecated if {@code replacement} is the empty string, use {@link * CharMatcher#removeFrom(CharSequence)}; if it is a single character, * use {@link CharMatcher#collapseFrom(CharSequence, char)}; for longer * replacement strings use {@link String#replaceAll(String, String)} with * a regular expression that matches one or more occurrences of {@code * chars}. In all cases you must first ensure that {@code str} is not * null. */ @Deprecated public static String collapse(String str, String chars, String replacement) { if (str == null) { return null; } StringBuilder newStr = new StringBuilder(); boolean prevCharMatched = false; char c; for (int i = 0; i < str.length(); i++) { c = str.charAt(i); if (chars.indexOf(c) != -1) { // this character is matched if (prevCharMatched) { // apparently a string of matched chars, so don't append anything // to the string continue; } prevCharMatched = true; newStr.append(replacement); } else { prevCharMatched = false; newStr.append(c); } } return newStr.toString(); } /** * @return a string representation of the given native array. */ public static String toString(float[] iArray) { if (iArray == null) { return "NULL"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; i < iArray.length; i++) { buffer.append(iArray[i]); if (i != (iArray.length - 1)) { buffer.append(", "); } } buffer.append("]"); return buffer.toString(); } /** * @return a string representation of the given native array. */ public static String toString(long[] iArray) { if (iArray == null) { return "NULL"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; i < iArray.length; i++) { buffer.append(iArray[i]); if (i != (iArray.length - 1)) { buffer.append(", "); } } buffer.append("]"); return buffer.toString(); } /** * @return a string representation of the given native array */ public static String toString(int[] iArray) { if (iArray == null) { return "NULL"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; i < iArray.length; i++) { buffer.append(iArray[i]); if (i != (iArray.length - 1)) { buffer.append(", "); } } buffer.append("]"); return buffer.toString(); } /** * @return a string representation of the given array. */ public static String toString(String[] iArray) { if (iArray == null) { return "NULL"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; i < iArray.length; i++) { buffer.append("'").append(iArray[i]).append("'"); if (i != iArray.length - 1) { buffer.append(", "); } } buffer.append("]"); return buffer.toString(); } /** * Returns the string, in single quotes, or "NULL". Intended only for * logging. * * @param s the string * @return the string, in single quotes, or the string "null" if it's null. */ public static String toString(String s) { if (s == null) { return "NULL"; } else { return new StringBuilder(s.length() + 2).append("'").append(s) .append("'").toString(); } } /** * @return a string representation of the given native array */ public static String toString(int[][] iArray) { if (iArray == null) { return "NULL"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; i < iArray.length; i++) { buffer.append("["); for (int j = 0; j < iArray[i].length; j++) { buffer.append(iArray[i][j]); if (j != (iArray[i].length - 1)) { buffer.append(", "); } } buffer.append("]"); if (i != iArray.length - 1) { buffer.append(" "); } } buffer.append("]"); return buffer.toString(); } /** * @return a string representation of the given native array. */ public static String toString(long[][] iArray) { if (iArray == null) { return "NULL"; } StringBuilder buffer = new StringBuilder(); buffer.append("["); for (int i = 0; i < iArray.length; i++) { buffer.append("["); for (int j = 0; j < iArray[i].length; j++) { buffer.append(iArray[i][j]); if (j != (iArray[i].length - 1)) { buffer.append(", "); } } buffer.append("]"); if (i != iArray.length - 1) { buffer.append(" "); } } buffer.append("]"); return buffer.toString(); } /** * @return a String representation of the given object array. * The strings are obtained by calling toString() on the * underlying objects. */ public static String toString(Object[] obj) { if (obj == null) { return "NULL"; } StringBuilder tmp = new StringBuilder(); tmp.append("["); for (int i = 0; i < obj.length; i++) { tmp.append(obj[i].toString()); if (i != obj.length - 1) { tmp.append(","); } } tmp.append("]"); return tmp.toString(); } }