stringcode.java

来自「培训考试系统代码」· Java 代码 · 共 99 行

JAVA
99
字号
/**
 * Copyright  1988-2004, Huawei Tech. Co., Ltd.
 * filename: StringCode.jsp
 * description: 对字符串进行编码
 * date: 2004-06-25
 * @author 黄育源
 * @version 3.0
 *
 * History:         // 历史修改记录
 * <author>  <time>   <version >   <desc>
 */
package com.huawei.icd30.agt.code;

public class StringCode {
    public StringCode()
    {
    }

    /**
     * 对编辑框、按钮等网页组件的值进行编码,对里面含有双引号的改为网页可以辨认
     * 的&quot; 这样就可以显示包含有双引号的字符串了。
     */
    public static String webCode(String str)
    {
        str = str.replaceAll("\"","&quot;");
        return str;
    }

    /**
     * 对编辑器里面的内容进行编码,把“\”改为“\\”,可以就不会给编辑器误认为是
     * 转义字符了。
     */
    public static String editCode(String str)
    {
        if (str != null && str.indexOf('\\')!=-1)
        {
            java.io.ByteArrayOutputStream bos = new java.io.ByteArrayOutputStream();
            java.io.ByteArrayInputStream bis = new java.io.ByteArrayInputStream(str.getBytes());
            byte temp;
            while( (temp = (byte)bis.read()) != -1 )
            {
                if(temp == '\\')
                {
                    bos.write('\\');
                }
                bos.write(temp);
            }
            return bos.toString();
        }
        return str; //不含有需转义的字符,则直接将原字符串返回
    }


  public String removeSymbol(String str)
  {
    StringBuffer temp = new StringBuffer();

    char[] charArray = str.toCharArray();
    int startLocate = 0;
    for (int i = 0; i < charArray.length; i++)
    {
      if(('<'==charArray[i])&&('S'==charArray[i+1])&&('P'==charArray[i+2])&&('A'==charArray[i+3])&&('N'==charArray[i+4]))
      {
        String tempStr = str.substring(startLocate,i);
        temp.append(tempStr);

        for(int m = i; m < charArray.length; m++)
        {
          if('>'==charArray[m])
          {
            startLocate = m+1;

            break;
          }
        }
      }
      else if(('<'==charArray[i])&&('/'==charArray[i+1])&&('S'==charArray[i+2])&&('P'==charArray[i+3])
              &&('A'==charArray[i+4])&&('N'==charArray[i+5])&&('>'==charArray[i+6]))
      {
        String tempStr = str.substring(startLocate,i);
        temp.append(tempStr);
        startLocate = i+7;
      }
    }

    temp.append(str.substring(startLocate,charArray.length));

    return temp.toString();
  }
  public static void main(String[] args) {
    StringCode stringCode1 = new StringCode();

    String temp1 = "";

    String temp = stringCode1.removeSymbol(temp1);
    System.out.println(temp);
  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?