1 // Copyright 2006 all rights reserved; see LICENSE file for BSD-style license
3 package edu.berkeley.sbp.util;
5 /** miscellaneous string utilities */
6 public class StringUtil {
8 public static String pad(int i,String s) {
9 return s.length() >= i ? s : pad(i-1,s)+" ";
12 public static String join(String[] s, String sep) {
13 StringBuffer ret = new StringBuffer();
14 for(int i=0; i<s.length; i++) {
15 if (i>0) ret.append(sep);
18 return ret.toString();
20 public static String toJavaString(String s) {
21 StringBuffer sb = new StringBuffer();
22 for(int i=0; i<s.length(); i++) {
25 case '\\': sb.append("\\\\"); break;
26 case '\"': sb.append("\\\""); break;
27 case '\'': sb.append("\\\'"); break;
28 case '\n': sb.append("\\n"); break;
29 case '\r': sb.append("\\r"); break;
30 default: sb.append(c); break;
36 public static String unescapify(String s) {
37 StringBuffer sb = new StringBuffer();
38 for(int i=0; i<s.length(); i++) {
43 case 'r': c = '\r'; break;
44 case 'n': c = '\n'; break;
53 case ' ': sb.append("\\ "); break;
54 case '{': sb.append("\\{"); break;
55 case '}': sb.append("\\}"); break;
56 case ':': sb.append("\\:"); break;
58 public static String escapify(String s) { return escapify(s, "\\\n\r"); }
59 public static String escapify(String s, String illegal) {
60 if (s==null) return null;
61 StringBuffer sb = new StringBuffer();
62 for(int i=0; i<s.length(); i++) {
64 if (illegal.indexOf(c) != -1)
66 case '\n': sb.append("\\n"); continue;
67 case '\r': sb.append("\\r"); continue;
68 default: sb.append('\\'); break;
70 else if (c < 32 || c >= 127) {
71 sb.append("\\x"+((int)c));
79 public static String indent(String s, int indent) {
80 if (s.indexOf('\n')==-1) return s;
81 StringBuffer ret = new StringBuffer();
82 for(int i=0; i<s.length(); i++) {
86 for(int j=0; j<indent; j++)
89 return ret.toString();