All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.ochafik.util.string.StringUtils Maven / Gradle / Ivy

There is a newer version: 0.12
Show newest version
/*
	Copyright (c) 2009-2011 Olivier Chafik, All Rights Reserved
	
	This file is part of JNAerator (http://jnaerator.googlecode.com/).
	
	JNAerator is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.
	
	JNAerator is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	
	You should have received a copy of the GNU General Public License
	along with JNAerator.  If not, see .
*/
package com.ochafik.util.string;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.StringTokenizer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StringUtils {
	public static String htmlize(String text) {
		return text.startsWith("") ? 
				text : ""+
					text.replace("&", "&").replace("<", "<").replace(">", ">").replace("\n","
")+ ""; } static Pattern spacePattern; public static List explode(String s) { if (spacePattern == null) { spacePattern = Pattern.compile("\\s+"); } return explode(s, spacePattern); } public static List explode(String s, String sep) { StringTokenizer st=new StringTokenizer(s,sep); List v = new ArrayList(); for (;st.hasMoreTokens();) { v.add(st.nextToken()); } return v; } public static String trimUnderscores(String s) { return trimChar(s, '_'); } public static String trimChar(String s, char t) { if (s == null) return null; int start = 0, n = s.length(), end = n; for (int i = 0; i < n; i++) { char c = s.charAt(i); if (c != t) { start = i; break; } } for (int i = n - 1; i >= 0; i--) { char c = s.charAt(i); if (c != t) { end = i + 1; break; } } return s.substring(start, end); } /* public static final String implode(Object[] strings, String separator) { return implode(Arrays.asList(strings), separator); } */ public static String implode(double[] array, String separator) { StringBuffer out = new StringBuffer(); boolean first = true; for (double v : array) { if (first) first = false; else out.append(separator); out.append(v); } return out.toString(); } public static String implode(Object[] values) { return implode(values, ", "); } public static String implode(Object[] values, Object separator) { return implode(Arrays.asList(values), separator); } public static final String implode(Iterable elements, Object separator) { String sepStr = separator.toString(); StringBuilder out = new StringBuilder(); boolean first = true; for (Object s : elements) { if (s == null) continue; if (first) first = false; else out.append(sepStr); out.append(s); } return out.toString(); } public static final String implode(Iterable strings) { return implode(strings, ", "); } /* public static final String implode(Collection strings, String separator) { int size = 0, n = strings.size(); for (Object s : strings) if (s != null) size += s.toString().length(); StringBuffer out = new StringBuffer(size + separator.length() * (n == 0 ? 0 : n - 1)); boolean first = true; for (Object s : strings) { if (s == null) continue; if (first) first = false; else out.append(separator); out.append(s); } return out.toString(); } */ public static final List explode(String string, Pattern separator) { int lastIndex = 0, len = string.length(); Matcher matcher = separator.matcher(string); List ret = new LinkedList(); while (matcher.find()) { String s = string.substring(lastIndex, matcher.start()); if (s.length() > 0) ret.add(s); lastIndex = matcher.end(); } String s = string.substring(lastIndex, len); if (s.length() > 0) ret.add(s); return ret; } public static String replace(String pattern, String replace, String s) { return concatWithSeparator(explode(s,pattern).toArray(new String[0]),replace); } public static final String concat(String[] a) { StringBuffer b=new StringBuffer(); for (int i=0;i127||Character.isISOControl(c)) { b.append("\\u"); String nb=Integer.toString((int)c,16); int nblen=nb.length(); switch (nblen) { case 1: b.append(0); case 2: b.append(0); case 3: b.append(0); case 4: b.append(nb); break; default: throw new IllegalArgumentException("Should not happen !"); } } else b.append(c); } } return b.toString(); } public static final String javaUnEscape(String s) { char c; int len=s.length(); StringBuffer b=new StringBuffer(len); for (int i=0;i strings, String separator) { List cap = new ArrayList(strings.size()); for (String s : strings) cap.add(capitalize(s)); return implode(cap, separator); } public static String underscoredToCamel(String string) { String[] a = string.split("_"); for (int i = 0, n = a.length; i < n; i++) { String s = a[i].trim(); a[i] = capitalize(a[i]); } return implode(a, ""); } public static String uncapitalize(String string) { return string.length() == 0 ? "" : Character.toLowerCase(string.charAt(0)) + string.substring(1); } public static final String LINE_SEPARATOR; static { LINE_SEPARATOR = System.getProperty("line.separator"); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy