Java String Unquote unquote(String s)

Here you can find the source of unquote(String s)

Description

unquote

License

Apache License

Declaration

public static String unquote(String s) 

Method Source Code

//package com.java2s;
/*// w ww  . ja v a2s.  c  o  m
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  The ASF licenses this file to You
 * under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.  For additional information regarding
 * copyright in this work, please see the NOTICE file in the top level
 * directory of this distribution.
 */

public class Main {
    public static String unquote(String s) {
        StringBuilder buf = new StringBuilder();
        int i = s.length();
        boolean quoted = false, escaped = false;
        for (int n = 0; n < s.length(); n++) {
            char c = s.charAt(n);
            if (n == 0 && c == '"') {
                quoted = true;
            } else if (!(quoted && n + 1 == i && !escaped && c == '"'))
                buf.append(c);
            if (escaped)
                escaped = false;
            else if (c == '\\' && !escaped)
                escaped = true;
        }
        return buf.toString();
    }

    public static void append(StringBuilder buf, String value) {
        if (buf.length() > 0)
            buf.append(", ");
        buf.append(value);
    }
}

Related

  1. unquote(String quoted)
  2. unquote(String quotedString)
  3. unquote(String s)
  4. unquote(String s)
  5. unquote(String s)
  6. unquote(String s)
  7. unquote(String s)
  8. unquote(String s)
  9. unquote(String s)