public static CharSequence partialEscape(CharSequence s){
  StringBuilder sb=new StringBuilder();
  for (int i=0; i < s.length(); i++) {
    char c=s.charAt(i);
    if (c == '\\' || c == '!' || c == '(' || c == ')' || c == ':' || c == '^' || c == '[' || c == ']' || c == '/' || c == '{' || c == '}' || c == '~' || c == '*' || c == '?') {
      sb.append('\\');
    }
    sb.append(c);
  }
  return sb;
}

public static CharSequence partialEscape ( CharSequence s ) { StringBuilder sb = new StringBuilder ( ) ; for ( int i = 0 ; i < s . length ( ) ; i ++ ) { char c = s . charAt ( i ) ; if ( c == '\\' || c == '!' || c == '(' || c == ')' || c == ':' || c == '^' || c == '[' || c == ']' || c == '/' || c == '{' || c == '}' || c == '~' || c == '*' || c == '?' ) { sb . append ( '\\' ) ; } sb . append ( c ) ; } return sb ; }
escapes all special characters except ' " ' , ' - ' , and ' + '
