1 package edu.berkeley.sbp.util;
3 /** miscellaneous string utilities */
4 public class StringUtil {
6 public static String join(String[] s, String sep) {
7 StringBuffer ret = new StringBuffer();
8 for(int i=0; i<s.length; i++) {
9 if (i>0) ret.append(sep);
12 return ret.toString();
14 public static String toJavaString(String s) {
15 StringBuffer sb = new StringBuffer();
16 for(int i=0; i<s.length(); i++) {
19 case '\\': sb.append("\\\\"); break;
20 case '\"': sb.append("\\\""); break;
21 case '\'': sb.append("\\\'"); break;
22 case '\n': sb.append("\\n"); break;
23 case '\r': sb.append("\\r"); break;
24 default: sb.append(c); break;
30 public static String unescapify(String s) {
31 StringBuffer sb = new StringBuffer();
32 for(int i=0; i<s.length(); i++) {
37 case 'r': c = '\r'; break;
38 case 'n': c = '\n'; break;
47 case ' ': sb.append("\\ "); break;
48 case '{': sb.append("\\{"); break;
49 case '}': sb.append("\\}"); break;
50 case ':': sb.append("\\:"); break;
52 public static String escapify(String s) { return escapify(s, "\\\n\r"); }
53 public static String escapify(String s, String illegal) {
54 StringBuffer sb = new StringBuffer();
55 for(int i=0; i<s.length(); i++) {
57 if (illegal.indexOf(c) != -1)
59 case '\n': sb.append("\\n"); continue;
60 case '\r': sb.append("\\r"); continue;
61 default: sb.append('\\'); break;