blob: 3ec77e60ecb6118d23157e24ddce0d5b7d99e7d7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2005, 2006 Erkki Lindpere and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Erkki Lindpere - initial API and implementation
*******************************************************************************/
package org.eclipse.ecf.internal.bulletinboard.commons.util;
/**
* Various helper methods for manipulating Strings.
*
* @author Erkki
*/
public class StringUtil {
/**
* Tests whether the String parameter is null or equals ""
*
* @param str
* @return true
*/
public static boolean isEmptyStr(String str) {
return (str == null || str.equals(""));
}
/**
* {@link #isEmptyStr(String)}
*
* @param str
* @return true
*/
public static boolean notEmptyStr(String str) {
return !isEmptyStr(str);
}
/**
* @param stringArray
* @return a string that is the result of the array concatenation
*/
public static String concat(String stringArray[]) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < stringArray.length; i++) {
buf.append(stringArray[i]);
}
return buf.toString();
}
/**
* @param stringArray
* @param separator
* @return the concatenation result
*/
public static String concat(String stringArray[], String separator) {
StringBuffer buf = new StringBuffer();
for (int i = 0; i < stringArray.length; i++) {
if (i > 0) {
buf.append(separator);
}
buf.append(stringArray[i]);
}
return buf.toString();
}
/**
* Simply removes HTML or XML tags from the string.
*
* @param htmlString
* @return a new string with tags removed.
*/
public static String simpleStripHTML(String htmlString) {
String str = htmlString.replaceAll("<.*?>", "");
return str;
}
/**
* Removes HTML or XML tags and trims the resulting string.
*
* @param htmlString
* @return a new trimmed string with the tags removed.
*/
public static String stripHTMLTrim(final String htmlString) {
String str = htmlString.replaceAll("<.*?>", "");
return str.trim();
}
/**
* Strips HTML tags from strings. Trims lines. Removes double spaces.
*
* @param htmlString
* @return stripped, trimmed-by-line String
*/
public static String stripHTMLFullTrim(final String htmlString) {
String str = stripHTMLTrim(htmlString);
StringBuffer lines = new StringBuffer();
int j = 0;
for (int i = str.indexOf('\n'); i > -1; i = str.indexOf('\n', j)) {
lines.append(str.substring(j, i).trim() + '\n');
j = i + 1;
}
lines.append(str.substring(j).trim());
str = lines.toString();
// replacing double newlines and spaces
while (str.indexOf("\n\n") > -1) {
str = str.replaceAll("\n\n", "\n");
}
while (str.indexOf(" ") > -1) {
str = str.replaceAll(" ", " ");
}
return str;
}
}