本文整理汇总了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("<");
} else if (ch == '>') {
b.append(">");
} else if (ch == '&') {
b.append("&");
} else if (ch == '\"') {
b.append(""");
} else {
b.append(ch);
}
ch = it.next();
}
return b.toString();
}
示例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();
}
示例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;
}
}
}
示例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);
}
示例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();
}
示例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> < </td></tr>
* <tr><td> > </td><td> > </td></tr>
* <tr><td> & </td><td> & </td></tr>
* <tr><td> " </td><td> "</td></tr>
* <tr><td> ' </td><td> '</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("<");
} else if (character == '>') {
result.append(">");
} else if (character == '\"') {
result.append(""");
} else if (character == '\'') {
result.append("'");
} else if (character == '&') {
result.append("&");
} else {
//the char is not a special one
//add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
示例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("<");
} else if (character == '>') {
result.append(">");
} else {
//the char is not a special one
//add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
示例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();
}
示例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();
}
示例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();
}
示例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> < </td></tr>
* <tr><td> > </td><td> > </td></tr>
* <tr><td> & </td><td> & </td></tr>
* <tr><td> " </td><td> "</td></tr>
* <tr><td> ' </td><td> '</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("<");
}
else if (character == '>')
{
result.append(">");
}
else if (character == '\"')
{
result.append(""");
}
else if (character == '\'')
{
result.append("'");
}
else if (character == '&')
{
result.append("&");
}
else
{
//the char is not a special one
//add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
示例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("<");
}
else if (character == '>')
{
result.append(">");
}
else
{
//the char is not a special one
//add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
示例13: escapeHTMLTagCopy
import java.text.StringCharacterIterator; //导入方法依赖的package包/类
/**
* Replace characters having special meaning inside HTML tags
* with their escaped equivalents, using character entities such as '&'.
*
* 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&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("<");
}
else if (character == '>') {
result.append(">");
}
else if (character == '\"') {
result.append(""");
}
else if (character == '\'') {
result.append("'");
}
else if (character == '\\') {
result.append("\");
}
else if (character == '&') {
result.append("&");
}
else {
//the char is not a special one
//add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
示例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("<");
}
else if (character == '>') {
result.append(">");
}
else if (character == '\"') {
result.append(""");
}
else if (character == '\'') {
result.append("'");
}
else if (character == '&') {
result.append("&");
}
else {
result.append(character);
}
character = iterator.next();
}
return result.toString();
}
示例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("<");
} else if (character == '>') {
result.append(">");
} else if (character == '\"') {
result.append(""");
} else if (character == '\'') {
result.append("'");
} else if (character == '\\') {
result.append("\");
} else if (character == '&') {
result.append("&");
} else {
// the char is not a special one
// add it to the result as is
result.append(character);
}
character = iterator.next();
}
return result.toString();
}