
com.ochafik.util.string.StringUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jnaerator Show documentation
Show all versions of jnaerator Show documentation
OSGi bundle for JNAerator
/*
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.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