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

📄 stringutils.java

📁 OA典型例子
💻 JAVA
字号:
/*
 * StringUtils.java
 * Copyright (c) 2000-2001 Brad D Matlack.
 * License http://www.gnu.org/copyleft
 */
package com.sure.util;

import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.NoSuchElementException;
import java.util.StringTokenizer;

/**
 * StringUtils has code borrowed from org.apache.turbine.util.StringUtils
 */
public class StringUtils
{

    /**
     * Remove Underscores from a string and replaces first
     * Letters with Capitals.  foo_bar becomes FooBar
     */
    public static String removeUnderScores (String data)
    {
        String temp = null;
        StringBuffer out = new StringBuffer();
        temp = data;

        StringTokenizer st = new StringTokenizer(temp, "_");
        while (st.hasMoreTokens())
        {
            String element = (String) st.nextElement();
            out.append ( capitalize(element));
        }
        return out.toString();
    }

    /**
     * Makes the first letter caps and leaves the rest as is.
     */
    public static String capitalize ( String data )
    {
        StringBuffer sbuf = new StringBuffer(data.length());
        sbuf.append(data.substring(0, 1).toUpperCase())
            .append(data.substring(1));
        return sbuf.toString();
    }

    /**
     * Capitalizes a letter.
     */
    public static String capitalize ( java.lang.String data, int pos )
    {
        StringBuffer buf = new StringBuffer(data.length());
        buf.append( data.substring(0,pos -1) );
        buf.append( data.substring(pos - 1,pos).toUpperCase() );
        buf.append( data.substring(pos, data.length()) );
        return buf.toString();
    }

    /**
     * un-capitalizes a letter.
     */
    public static String unCapitalize ( String data, int pos )
    {
        StringBuffer buf = new StringBuffer(data.length());
        buf.append( data.substring(0, pos -1) );
        //System.out.println("1:" + buf.toString());
        buf.append( data.substring(pos - 1, pos).toLowerCase() );
        //System.out.println("1:" + buf.toString());
        buf.append( data.substring(pos, data.length()) );
        //System.out.println("1:" + buf.toString());
        return buf.toString();
    }

    /**
     * Splits the provided CSV text into a list.
     *
     * @param text      The CSV list of values to split apart.
     * @param pos       The piece of the array
     * @return          The list of values.
     */
    public static String[] split(String text, String separator)
    {
        StringTokenizer st = new StringTokenizer(text, separator);
        String[] values = new String[st.countTokens()];
        int pos = 0;
        while (st.hasMoreTokens())
        {
            values[pos++] = st.nextToken();
        }
        return values;
    }




    /**
     * Joins the elements of the provided array into a single string
     * containing a list of CSV elements.
     *
     * @param list      The list of values to join together.
     * @param separator The separator character.
     * @return          The CSV text.
     */
    public static String join(String[] list, String separator)
    {
        StringBuffer csv = new StringBuffer();
        for (int i = 0; i < list.length; i++)
        {
            if (i > 0)
            {
                csv.append(separator);
            }
            csv.append(list[i]);
        }
        return csv.toString();
    }

    /**
     * 将字符串中tag替换成为指定的info,只替换一次
     * @param source,原来的字符串
     * @param info,替换tag的字符串
     * @param tag,要被替换掉的tag
     * @return 替换后的内容
     */
    public static StringBuffer replace(String source, String info, String tag) {
        if ((source == null) || (source.length() == 0))
            return new StringBuffer("");

            if ((info == null) || (tag == null) || (tag.length() == 0))
            return new StringBuffer(source);

        int index = source.indexOf(tag);
        if (index < 0)
            return new StringBuffer(source);

        int length = tag.length();
        return (new StringBuffer(source)).replace(index, index+length, info);
    }

    /**
     * 将字符串中所有的tag全部替换成为指定的info
     * @param source,原来的字符串
     * @param info,替换tag的字符串
     * @param tag,要被替换掉的tag
     * @return 替换后的内容
     */
    public static String replaceAll(String source, String info, String tag) {
        if ((source == null) || (source.length() == 0))
            return "";

            if ((info == null) || (tag == null) || (tag.length() == 0))
            return source;

        int index = source.indexOf(tag);
        boolean valid = (index >= 0);
        if (!valid)
            return source;

        StringBuffer ret = new StringBuffer();
        int start = 0;
        int length = tag.length();
        while(valid) {
            ret.append(source.substring(start, index)).append(info);
            start = index + length;
            index = source.indexOf(tag, start);
            valid = (index >= 0);
        }
        ret.append(source.substring(start));
        return ret.toString();
    }

    /**
     * 将字符串中所有的tag全部替换成为指定的info
     * @param source,原来的字符串
     * @param info,替换tag的字符串
     * @param tag,要被替换掉的tag
     * @return 替换后的内容
     */
    public static String replaceAll(String source, String info,
            String startTag, String endTag ) {
        if ((source == null) || (source.length() == 0))
            return "";

            if ((info == null) || (startTag == null) || (startTag.length() == 0) ||
                (endTag == null) || (endTag.length() == 0) )
            return source;

        int sIndex = source.indexOf(startTag);
        int eIndex = source.indexOf(endTag);
        boolean valid = (sIndex >= 0 && eIndex >= 0 && eIndex > sIndex);
        if (!valid)
            return source;

        int sLength = startTag.length();
        int eLength = endTag.length();
        StringBuffer ret = new StringBuffer();
        int start = 0;
        while(valid) {
            ret.append(source.substring(start, sIndex)).append(info);
            start = eIndex + eLength;
            sIndex = source.indexOf(startTag, start);
            eIndex = source.indexOf(endTag, start);
            valid = (sIndex >= 0 && eIndex >= 0 && eIndex > sIndex);
        }
        ret.append(source.substring(start));
        return ret.toString();
    }

    /**
     * 将输入字符中的SQL保留字进行替换,目前只替换英文半角的单引号'
     * 单引号替换方法:一个单引号换成连续的两个单引号,例如'ABC'D替换成''ABC''D
     * @param s
     * @return
     */
    public static String getSQLencode(String s){
        if ((s == null) || (s.length() == 0))
            return "";

        StringBuffer sb = new StringBuffer();
        char c;
        for(int i = 0; i < s.length(); i++) {
            c = s.charAt(i);
            switch (c){
                case '\'':
                    sb.append("''");
                    break;
                default:
                    sb.append(c);
            }
        }
        return sb.toString();
    }

 /**
 * 将输入字符中的格式化成precision指定的程度,截掉的部分用'...'布齐
 */
 public static String getFormatString(String s,int precision){
   String retValue="";
   if((s == null) || (s.length() == 0)) retValue="";
   if(s.length()<=precision)  retValue=s;
   if(s.length()==precision+1) retValue=s;
   if(s.length()>precision+1) retValue=s.substring(0,precision-1)+"...";
   return retValue;
 }

 /**
 * 将输入字符中的格式化成precision指定的程度,截掉的部分用'...'布齐
 */
 public static String getFormatString(double s,int precision){
   String retValue="";
   String temp=String.valueOf(s);
   String beforStr="",afterStr="";
   beforStr=temp.substring(0,temp.indexOf("."));
   afterStr=temp.substring(temp.indexOf(".")+1);
   if(afterStr.length()>precision){
      retValue=beforStr+"."+afterStr.substring(0,precision);
   }
   else{
     retValue = temp;
   }
   return retValue;
 }

 public static void  main(String args[]){
   System.out.println(getFormatString(0.1,2));
 }
}

⌨️ 快捷键说明

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