⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringutils.java

📁 这是一个用jsp+Oracle开发的联系人客户关系管理系统!
💻 JAVA
字号:
package net.acai.util;
/**
 * Title:        阿菜网络
 * Description:
 * Copyright:    Copyright (c) 2002
 * Company:      www.justhis.com
 * @author:       acai
 * @version 1.0
 */
/**
 * Title:        阿菜网络
 * Description:
 * Copyright:    Copyright (c) 2002
 * Company:     http://xacai.yeah.net
 * @author 	acai
 * @version 1.0
 */



import java.text.*;
import java.util.*;

public class StringUtils {

    // 转化html的常量;
    private static final char[] QUOTE_ENCODE = """.toCharArray();
    private static final char[] AMP_ENCODE = "&".toCharArray();
    private static final char[] LT_ENCODE = "<".toCharArray();
    private static final char[] GT_ENCODE = ">".toCharArray();
    private static final char[] APOS_ENCODE = "'".toCharArray();
	private static final char[] BR_TAG = "<BR>".toCharArray();

    /**
     * 初始化,并且锁定一个类只能调用
     * 
     */
    private static Object initLock = new Object();

    /**
     * 替代linde中的oldString为newString
     *
     * @参数 line 需要做替代的字符串
     * @参数 oldString the String that should be replaced by newString
     * @param newString the String that will replace all instances of oldString
     *
     * @return a String will all instances of oldString replaced by newString
     */
    public static final String replace( String line, String oldString, String newString )
    {
        if (line == null) {
            return null;
        }
        int i=0;
        if ( ( i=line.indexOf( oldString, i ) ) >= 0 ) {
            char [] line2 = line.toCharArray();
            char [] newString2 = newString.toCharArray();
            int oLength = oldString.length();
            StringBuffer buf = new StringBuffer(line2.length);
            buf.append(line2, 0, i).append(newString2);
            i += oLength;
            int j = i;
            while( ( i=line.indexOf( oldString, i ) ) > 0 ) {
                buf.append(line2, j, i-j).append(newString2);
                i += oLength;
                j = i;
            }
            buf.append(line2, j, line2.length - j);
            return buf.toString();
        }
        return line;
    }

 
    /**
     * This method takes a string which may contain HTML tags (ie, &lt;b&gt;,
     * &lt;table&gt;, etc) and converts the '&lt'' and '&gt;' characters to
     * their HTML escape sequences.
     *
     * @param in the text to be converted.
     * @return the input string with the characters '&lt;' and '&gt;' replaced
     *  with their HTML escape sequences.
     */
    public static final String escapeHTMLTags(String in) {
        if (in == null) {
            return null;
        }
        char ch;
        int i=0;
        int last=0;
        char[] input = in.toCharArray();
        int len = input.length;
        StringBuffer out = new StringBuffer((int)(len*1.3));
        for (; i < len; i++) {
            ch = input[i];
            if (ch > '>') {
                continue;
            } else if (ch == '<') {
                if (i > last) {
                    out.append(input, last, i - last);
                }
                last = i + 1;
                out.append(LT_ENCODE);
            } else if (ch == '>') {
                if (i > last) {
                    out.append(input, last, i - last);
                }
                last = i + 1;
                out.append(GT_ENCODE);
            }
        }
        if (last == 0) {
            return in;
        }
        if (i > last) {
            out.append(input, last, i - last);
        }
        return out.toString();
    }
	public static String convertNewlines(String input) {
        char [] chars = input.toCharArray();
        int cur = 0;
        int len = chars.length;
        StringBuffer buf = new StringBuffer(len);
        // Loop through each character lookin for newlines.
        for (int i=0; i<len; i++) {
            // If we've found a Unix newline, add BR tag.
            if (chars[i]=='\n') {
                buf.append(chars, cur, i-cur).append(BR_TAG);
                cur = i+1;
            }
            // If we've found a Windows newline, add BR tag.
            else if (chars[i]=='\r' && i<len-1 && chars[i+1]=='\n') {
                buf.append(chars, cur, i-cur).append(BR_TAG);
                i++;
                cur = i+1;
            }
        }
        // Add whatever chars are left to buffer.
        buf.append(chars, cur, len-cur);
        return buf.toString();
    }

	public static String  getTranslateStr(String sourceStr,String fieldStr){
	//处理逻辑表达式的转化问题
		  String []  sourceList;
		  String resultStr="";
		  //dim i,j
		  if (sourceStr.indexOf(" ")>0){ 
			 boolean isOperator=true;
			 sourceList=sourceStr.split(" ");
			 //'--------------------------------------------------------
			 //rem Response.Write "num:" & cstr(ubound(sourceList)) & "<br>"
			for(int i=0;i<sourceList.length;i++){
				 if(sourceList[i].equals("AND")||sourceList[i].equals("&")||sourceList[i].equals("和")||sourceList[i].equals("与")){
				  	 resultStr=resultStr+" and ";
					 isOperator=true;
				 }
				 else if(sourceList[i].equals("OR")||sourceList[i].equals("|")||sourceList[i].equals("或")){
				 	resultStr=resultStr + " or ";
					isOperator = true;
				 }
				 else if(sourceList[i].equals("NOT")||sourceList[i].equals("!")||sourceList[i].equals("!")||sourceList[i].equals("非")){
				 	resultStr=resultStr + " not ";
					isOperator = true;
				 }
				 else if(sourceList[i].equals("(")||sourceList[i].equals("(")||sourceList[i].equals("(")){
					resultStr=resultStr + " ( ";
					isOperator = true;
				 }
				 else if(sourceList[i].equals(")")||sourceList[i].equals(")")||sourceList[i].equals(")")){
					resultStr=resultStr + " ) ";
					isOperator = true;
				 }
				 else{
					if(!"".equals(sourceList[i])){
						if (!isOperator)
						{
							resultStr=resultStr + " and ";
						}
						if (sourceList[i].indexOf("%")>0)
						{
							resultStr=resultStr+" "+fieldStr+ " like '" + sourceList[i].replaceAll("'","''") + "' ";

						} 
						else
							resultStr=resultStr+" "+fieldStr+ " like '%" + sourceList[i].replaceAll("'","''") + "%' ";
						isOperator=false;
					}
				 }
			}
			return resultStr;
		  }
		  else{
				if (sourceStr.indexOf("%")>0)
				{
					resultStr=resultStr+" "+fieldStr+ " like '" + sourceStr.replaceAll("'","''") + "' ";

				} 
				else
					resultStr=resultStr+" "+fieldStr+ " like '%" + sourceStr.replaceAll("'","''") + "%' ";
						
			return resultStr;
		  }

				 
								
	}

}

⌨️ 快捷键说明

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