Java Text Parse textToRLiteral(String value)

Here you can find the source of textToRLiteral(String value)

Description

text To R Literal

License

Open Source License

Declaration

public static String textToRLiteral(String value) 

Method Source Code

//package com.java2s;
/*/*from w w w  .  j  a v  a2  s .  c  o m*/
 * StringUtil.java
 *
 * Copyright (C) 2009-12 by RStudio, Inc.
 *
 * Unless you have received this program directly from RStudio pursuant
 * to the terms of a commercial license agreement with RStudio, then
 * this program is licensed to you under the terms of version 3 of the
 * GNU Affero General Public License. This program is distributed WITHOUT
 * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT,
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the
 * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details.
 *
 */

public class Main {
    public static String textToRLiteral(String value) {
        StringBuffer sb = new StringBuffer();
        sb.append('"');

        for (char c : value.toCharArray()) {
            switch (c) {
            case '"':
                sb.append("\\\"");
                break;
            case '\n':
                sb.append("\\n");
                break;
            case '\r':
                sb.append("\\r");
                break;
            case '\t':
                sb.append("\\t");
                break;
            case '\b':
                sb.append("\\b");
                break;
            case '\f':
                sb.append("\\f");
                break;
            case '\\':
                sb.append("\\\\");
                break;
            default:
                if (c < 32 || c > 126)
                    sb.append("\\x").append(toHex(c));
                else
                    sb.append(c);
                break;
            }
        }

        sb.append('"');

        return sb.toString();
    }

    private static String toHex(char c) {
        String table = "0123456789ABCDEF";
        return table.charAt((c >> 8) & 0xF) + "" + table.charAt(c & 0xF);
    }
}

Related

  1. textToNumericFormatV4(String host)
  2. textToNumericFormatV4(String ipString)
  3. textToNumericFormatV4(String src)
  4. textToNumericFormatV6(String src)
  5. textToPreHtml(String text)
  6. TextToValue(char c)