当前位置: 首页>>代码示例>>Java>>正文


Java StringCharacterIterator.current方法代码示例

本文整理汇总了Java中java.text.StringCharacterIterator.current方法的典型用法代码示例。如果您正苦于以下问题:Java StringCharacterIterator.current方法的具体用法?Java StringCharacterIterator.current怎么用?Java StringCharacterIterator.current使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.text.StringCharacterIterator的用法示例。


在下文中一共展示了StringCharacterIterator.current方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: escapeForHTML

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
public static String escapeForHTML(String s, char c) {
  if (s == null || s.isEmpty()) {
    return s;
  }
  StringBuilder b = new StringBuilder();
  StringCharacterIterator it = new StringCharacterIterator(s);
  char ch = it.current();
  while (ch != CharacterIterator.DONE) {
    if (ch == '<') {
      b.append("&lt;");
    } else if (ch == '>') {
      b.append("&gt;");
    } else if (ch == '&') {
      b.append("&amp;");
    } else if (ch == '\"') {
      b.append("&quot;");
    } else {
      b.append(ch);
    }
    ch = it.next();
  }
  return b.toString();
}
 
开发者ID:logistimo,项目名称:logistimo-web-service,代码行数:24,代码来源:StringUtil.java

示例2: addSlashes

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * addslashes() 函数在指定的预定义字符前添加反斜杠。 做转义处理后,写入数据库就不会因敏感字符('之类)导致sql有问题。
 * 此处的转义处理内容是:在字符串中的单引号、双引号、反斜杠之前,都附加上反斜杠
 */
public static String addSlashes(String text) {
    if (text == null || text.equals("")) {
        return "";
    }
    StringBuffer sb = new StringBuffer(text.length() * 2);
    StringCharacterIterator iterator = new StringCharacterIterator(text);
    char character = iterator.current();
    while (character != StringCharacterIterator.DONE) {
        // DONE,字符型,当迭代器已到达文本末尾或开始处时返回的常量。
        switch (character) {
            case '\'': /* 单引号 */
            case '"': /* 双引号 */
            case '\\': /* 单斜杠 */
                sb.append("\\"); /* 单斜杠 */
            default:
                sb.append(character);
                break;
        }
        character = iterator.next();
    }
    return sb.toString();
}
 
开发者ID:shizicheng,项目名称:spring_mvc_template,代码行数:27,代码来源:Common.java

示例3: processStatement

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
private static void processStatement(final StringCharacterIterator iter, final StringBuffer output,
        final int level) {
    if (iter.current() != '(') throw new Error("Expected '(' but found '" + iter.current() + "'");
    output.append('(');
    boolean lb = false;
    boolean sub = false;
    while (iter.next() != CharacterIterator.DONE) {
        switch (iter.current()) {
        case '(':
            if (!lb) lineBreak(output, level + 1);
            processStatement(iter, output, level + 1);
            sub = true;
            lb = false;
            break;
        case ')':
            if (!lb && sub) lineBreak(output, level);
            output.append(')');
            return;
        default:
            output.append(iter.current());
            lb = false;
        }
    }
}
 
开发者ID:RWTH-i5-IDSG,项目名称:jamocha,代码行数:25,代码来源:RuleConditionFormatter.java

示例4: findTokens

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
private static List<String> findTokens(String data) {
    List<String> tokens = new ArrayList<String>();
    boolean inQuotes = false;
    StringBuilder currentToken = new StringBuilder();
    StringCharacterIterator i = new StringCharacterIterator(data);
    while (i.current() != StringCharacterIterator.DONE) {
        char c = i.current();
        if (c == '\'') {
            inQuotes = !inQuotes;
        }
        if (!inQuotes && (c == '.' || c == '[' || c == ']')) {
            if (currentToken.length() > 0) {
                tokens.add(currentToken.toString());
                currentToken.setLength(0);
            }
        } else {
            currentToken.append(c);
        }
        i.next();
    }
    tokens.add(currentToken.toString());
    return Collections.unmodifiableList(tokens);
}
 
开发者ID:IBM-Cloud,项目名称:gp-java-tools,代码行数:24,代码来源:JsonResource.java

示例5: parseQuotedString

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * Parses a string according to the format specified for ASCII property lists.
 * Such strings can contain escape sequences which are unescaped in this method.
 *
 * @param s The escaped string according to the ASCII property list format, without leading and trailing quotation marks.
 * @return The unescaped string in UTF-8 
 * @throws java.io.UnsupportedEncodingException If the en-/decoder for the UTF-8 or ASCII encoding could not be loaded
 * @throws java.nio.charset.CharacterCodingException If the string is encoded neither in ASCII nor in UTF-8
 */
private static synchronized String parseQuotedString(String s) throws UnsupportedEncodingException, CharacterCodingException {
    StringBuffer result = new StringBuffer();

    StringCharacterIterator iterator = new StringCharacterIterator(s);
    char c = iterator.current();

    while (iterator.getIndex() < iterator.getEndIndex()) {
        switch (c) {
            case '\\': { //An escaped sequence is following
            	result.append(parseEscapedSequence(iterator));
                break;
            }
            default: { //a normal UTF-8 char
            	result.append(c);
                break;
            }
        }
        c = iterator.next();
    }

    //Build string
    return result.toString();
}
 
开发者ID:3breadt,项目名称:dd-plist,代码行数:33,代码来源:ASCIIPropertyListParser.java

示例6: forXML

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * Escape characters for text appearing as XML data, between tags.
 *
 * <P>The following characters are replaced with corresponding character entities :
 * <table border='1' cellpadding='3' cellspacing='0'>
 * <tr><th> Character </th><th> Encoding </th></tr>
 * <tr><td> < </td><td> &lt; </td></tr>
 * <tr><td> > </td><td> &gt; </td></tr>
 * <tr><td> & </td><td> &amp; </td></tr>
 * <tr><td> " </td><td> &quot;</td></tr>
 * <tr><td> ' </td><td> &#039;</td></tr>
 * </table>
 *
 * <P>Note that JSTL's {@code <c:out>} escapes the exact same set of
 * characters as this method. <span class='highlight'>That is, {@code <c:out>}
 *  is good for escaping to produce valid XML, but not for producing safe
 *  HTML.</span>
 */
public static String forXML(String aText) {
    final StringBuilder result = new StringBuilder();
    final StringCharacterIterator iterator = new StringCharacterIterator(aText);
    char character = iterator.current();
    while (character != CharacterIterator.DONE) {
        if (character == '<') {
            result.append("&lt;");
        } else if (character == '>') {
            result.append("&gt;");
        } else if (character == '\"') {
            result.append("&quot;");
        } else if (character == '\'') {
            result.append("&#039;");
        } else if (character == '&') {
            result.append("&amp;");
        } else {
            //the char is not a special one
            //add it to the result as is
            result.append(character);
        }
        character = iterator.next();
    }
    return result.toString();
}
 
开发者ID:Torridity,项目名称:dsworkbench,代码行数:43,代码来源:EscapeChars.java

示例7: toDisableTags

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * Return <tt>aText</tt> with all <tt>'<'</tt> and <tt>'>'</tt> characters
 * replaced by their escaped equivalents.
 */
public static String toDisableTags(String aText) {
    final StringBuilder result = new StringBuilder();
    final StringCharacterIterator iterator = new StringCharacterIterator(aText);
    char character = iterator.current();
    while (character != CharacterIterator.DONE) {
        if (character == '<') {
            result.append("&lt;");
        } else if (character == '>') {
            result.append("&gt;");
        } else {
            //the char is not a special one
            //add it to the result as is
            result.append(character);
        }
        character = iterator.next();
    }
    return result.toString();
}
 
开发者ID:Torridity,项目名称:dsworkbench,代码行数:23,代码来源:EscapeChars.java

示例8: encode

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * @param text
 * @return
 */
public static String encode(final String text) {

    final StringBuilder result = new StringBuilder();
    final StringCharacterIterator iterator = new StringCharacterIterator(text);
    char character = iterator.current();

    String rep = null;
    while (character != CharacterIterator.DONE) {
        rep = HTMLTranscoder.MAP.get(character);
        if (rep == null) {
            result.append(character);
        } else {
            result.append(rep);
        }

        character = iterator.next();
    }
    return result.toString();
}
 
开发者ID:friedlwo,项目名称:AppWoksUtils,代码行数:24,代码来源:HTMLTranscoder.java

示例9: encodeSimple

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * 
 * encodes only newline, <>" and &
 * 
 * @param text
 * 
 * @return
 */
public static String encodeSimple(final String text) {

    final StringBuilder result = new StringBuilder();
    final StringCharacterIterator iterator = new StringCharacterIterator(text);
    char character = iterator.current();
    char lastC = 0;

    String rep = null;
    while (character != CharacterIterator.DONE) {
        if (character == '\n' && lastC == '\r') {
            lastC = character;
            character = iterator.next();
        }
        rep = HTMLTranscoder.MAP_SIMPLE.get(character);
        if (rep == null) {
            result.append(character);
        } else {
            result.append(rep);
        }
        lastC = character;
        character = iterator.next();
    }
    return result.toString();
}
 
开发者ID:friedlwo,项目名称:AppWoksUtils,代码行数:33,代码来源:HTMLTranscoder.java

示例10: escapeJSON

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
public static String escapeJSON(String aText) {
    if (aText == null) {
        return null;
    }
    final StringBuilder result = new StringBuilder();
    StringCharacterIterator iterator = new StringCharacterIterator(aText);
    char character = iterator.current();
    while (character != StringCharacterIterator.DONE) {
        if (character == '\"') {
            result.append("\\\"");
        } else if (character == '\\') {
            result.append("\\\\");
        } else if (character == '/') {
            result.append("\\/");
        } else if (character == '\b') {
            result.append("\\b");
        } else if (character == '\f') {
            result.append("\\f");
        } else if (character == '\n') {
            result.append("\\n");
        } else if (character == '\r') {
            result.append("\\r");
        } else if (character == '\t') {
            result.append("\\t");
        } else {
            // the char is not a special one
            // add it to the result as is
            result.append(character);
        }
        character = iterator.next();
    }
    return result.toString();
}
 
开发者ID:servicecatalog,项目名称:oscm,代码行数:34,代码来源:EscapeUtils.java

示例11: forXML

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
* Escape characters for text appearing as XML data, between tags.
*
* <P>The following characters are replaced with corresponding character entities :
* <table border='1' cellpadding='3' cellspacing='0'>
* <tr><th> Character </th><th> Encoding </th></tr>
* <tr><td> < </td><td> &lt; </td></tr>
* <tr><td> > </td><td> &gt; </td></tr>
* <tr><td> & </td><td> &amp; </td></tr>
* <tr><td> " </td><td> &quot;</td></tr>
* <tr><td> ' </td><td> &#039;</td></tr>
* </table>
*
* <P>Note that JSTL's {@code <c:out>} escapes the exact same set of
* characters as this method. <span class='highlight'>That is, {@code <c:out>}
*  is good for escaping to produce valid XML, but not for producing safe HTML.</span>
*/
@ApiMethod
@Comment(value = "Escape xml tag characters so that this can be rendered as text instead of markup when included in a xml/html document")
public static String forXML(String aText)
{
   final StringBuilder result = new StringBuilder();
   final StringCharacterIterator iterator = new StringCharacterIterator(aText);
   char character = iterator.current();
   while (character != CharacterIterator.DONE)
   {
      if (character == '<')
      {
         result.append("&lt;");
      }
      else if (character == '>')
      {
         result.append("&gt;");
      }
      else if (character == '\"')
      {
         result.append("&quot;");
      }
      else if (character == '\'')
      {
         result.append("&#039;");
      }
      else if (character == '&')
      {
         result.append("&amp;");
      }
      else
      {
         //the char is not a special one
         //add it to the result as is
         result.append(character);
      }
      character = iterator.next();
   }
   return result.toString();
}
 
开发者ID:wellsb1,项目名称:fort_j,代码行数:57,代码来源:Strings.java

示例12: toDisableTags

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
* Return <tt>aText</tt> with all <tt>'<'</tt> and <tt>'>'</tt> characters
* replaced by their escaped equivalents.
*/
@ApiMethod
@Comment(value = "Return text with all '<' and '>' characters replaced by their escaped equivalents.")
public static String toDisableTags(String text)
{
   final StringBuilder result = new StringBuilder();
   final StringCharacterIterator iterator = new StringCharacterIterator(text);
   char character = iterator.current();
   while (character != CharacterIterator.DONE)
   {
      if (character == '<')
      {
         result.append("&lt;");
      }
      else if (character == '>')
      {
         result.append("&gt;");
      }
      else
      {
         //the char is not a special one
         //add it to the result as is
         result.append(character);
      }
      character = iterator.next();
   }
   return result.toString();
}
 
开发者ID:wellsb1,项目名称:fort_j,代码行数:32,代码来源:Strings.java

示例13: escapeHTMLTagCopy

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
* Replace characters having special meaning inside HTML tags
* with their escaped equivalents, using character entities such as '&amp;'.
*
* The escaped characters are :
*  < > " ' \ &
*
* This method ensures that arbitrary text appearing inside a tag does not "confuse"
* the tag. For example, HREF='Blah.do?Page=1&Sort=ASC'
* does not comply with strict HTML because of the ampersand, and should be changed to
* HREF='Blah.do?Page=1&amp;Sort=ASC'.
* This method always returns a new String
* @param text input text to be escaped
* @return result the escaped text
*/
public static String escapeHTMLTagCopy(String text){
  final StringBuffer result = new StringBuffer();

  final StringCharacterIterator iterator = new StringCharacterIterator(text);
  char character =  iterator.current();
  while (character != CharacterIterator.DONE ){
    if (character == '<') {
      result.append("&lt;");
    }
    else if (character == '>') {
      result.append("&gt;");
    }
    else if (character == '\"') {
      result.append("&quot;");
    }
    else if (character == '\'') {
      result.append("&#039;");
    }
    else if (character == '\\') {
       result.append("&#092;");
    }
    else if (character == '&') {
       result.append("&amp;");
    }
    else {
      //the char is not a special one
      //add it to the result as is
      result.append(character);
    }
    character = iterator.next();
  }
  return result.toString();
}
 
开发者ID:StottlerHenkeAssociates,项目名称:SimBionic,代码行数:49,代码来源:UIUtil.java

示例14: escape

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
public static String escape(String input) {
	if (input == null) {
		return null;
	}
	StringBuilder result = new StringBuilder();
	StringCharacterIterator iterator = new StringCharacterIterator(input);
	char character = iterator.current();
	while (character != CharacterIterator.DONE) {
		if (character == '<') {
			result.append("&lt;");
		}
		else if (character == '>') {
			result.append("&gt;");
		}
		else if (character == '\"') {
			result.append("&quot;");
		}
		else if (character == '\'') {
			result.append("&#039;");
		}
		else if (character == '&') {
			result.append("&amp;");
		}
		else {
			result.append(character);
		}
		character = iterator.next();
	}
	return result.toString();
}
 
开发者ID:tanhaichao,项目名称:leopard,代码行数:31,代码来源:XmlUtils.java

示例15: forHTMLTag

import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
 * borrowed from http://www.javapractices.com/Topic96.cjp
 * 
 * @param aTagFragment
 *          String
 * @return String
 */
public static String forHTMLTag(String aTagFragment) {
	final StringBuffer result = new StringBuffer();

	final StringCharacterIterator iterator = new StringCharacterIterator(aTagFragment);
	char character = iterator.current();
	while (character != CharacterIterator.DONE) {
		if (character == '<') {
			result.append("&lt;");
		} else if (character == '>') {
			result.append("&gt;");
		} else if (character == '\"') {
			result.append("&quot;");
		} else if (character == '\'') {
			result.append("&#039;");
		} else if (character == '\\') {
			result.append("&#092;");
		} else if (character == '&') {
			result.append("&amp;");
		} else {
			// the char is not a special one
			// add it to the result as is
			result.append(character);
		}
		character = iterator.next();
	}
	return result.toString();
}
 
开发者ID:hyounesy,项目名称:ChAsE,代码行数:35,代码来源:ControlP5IOHandler.java


注:本文中的java.text.StringCharacterIterator.current方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。