Mega Code Archive

 
Categories / Java / Servlets
 

Escapes newlines, tabs, backslashes, and quotes in the specified string

/*  * StandardUtilities.java - Various miscallaneous utility functions  * :tabSize=8:indentSize=8:noTabs=false:  * :folding=explicit:collapseFolds=1:  *  * Copyright (C) 1999, 2006 Matthieu Casanova, Slava Pestov  * Portions copyright (C) 2000 Richard S. Hall  * Portions copyright (C) 2001 Dirk Moebius  *  * This program is free software; you can redistribute it and/or  * modify it under the terms of the GNU General Public License  * as published by the Free Software Foundation; either version 2  * of the License, or any later version.  *  * This program is distributed in the hope that it will be useful,  * but WITHOUT ANY WARRANTY; without even the implied warranty of  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  * GNU General Public License for more details.  *  * You should have received a copy of the GNU General Public License  * along with this program; if not, write to the Free Software  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */ //{{{ Imports import javax.swing.text.Segment; import java.util.Comparator; import java.util.Stack; //}}} /**  * Several tools that depends on JDK only.  *  * @author Matthieu Casanova  * @version $Id: StandardUtilities.java 12884 2008-06-23 18:17:08Z kpouer $  * @since 4.3pre5  */ public class StandardUtilities {   //{{{ Text methods   //{{{ charsToEscapes() method   /**    * Escapes newlines, tabs, backslashes, and quotes in the specified    * string.    * @param str The string    * @since jEdit 4.3pre15    */   public static String charsToEscapes(String str)   {     return charsToEscapes(str,"\n\t\\\"'");   } //}}}   //{{{ charsToEscapes() method   /**    * Escapes the specified characters in the specified string.    * @param str The string    * @param toEscape Any characters that require escaping    * @since jEdit 4.3pre15    */   public static String charsToEscapes(String str, String toEscape)   {     StringBuilder buf = new StringBuilder();     for(int i = 0; i < str.length(); i++)     {       char c = str.charAt(i);       if(toEscape.indexOf(c) != -1)       {         if(c == '\n')           buf.append("\\n");         else if(c == '\t')           buf.append("\\t");         else         {           buf.append('\\');           buf.append(c);         }       }       else         buf.append(c);     }     return buf.toString();   } //}}} }