Java-DealString工具类

简介: import java.text.NumberFormat;import java.util.Date;import java.util.Locale;import java.

import java.text.NumberFormat;
import java.util.Date;
import java.util.Locale;
import java.util.StringTokenizer;

public class DealString {

    public DealString() {
    }

    //判断字符串是否为空,并删除首尾空格
    public static String convertNullCode(String tempSql){
        if (tempSql==null) tempSql="";
        return tempSql;
    }
    /**
     * 字符串替换操作
     * @param originString 原字符串
     * @param oldString 被替换字符串
     * @param newString 替换字符串
     * @return 替换操作后的字符串
     */
    public static String replace(String originString,String oldString,String newString){
        String getstr = originString;
        while(getstr.indexOf(oldString)>-1){
            getstr = getstr.substring(0,getstr.indexOf(oldString)) + newString + getstr.substring(getstr.indexOf(oldString)+oldString.length(),getstr.length());
        }
        return getstr;
    }
    /**
     * 代码转换,GBK转换为ISO-8859-1
     * @param tempSql 要转换的字符串
     * @return
     */
    public static String ISOCode(String tempSql){

        String returnString = convertNullCode(tempSql);

        try{
            byte[] ascii = returnString.getBytes("GBK");
            returnString = new String(ascii,"ISO-8859-1");
        }catch(Exception e){
            e.printStackTrace();
        }
        return returnString;
    }

    /**
     * 代码转换,ISO-8859-1转换为GBK
     * @param tempSql 要转换的字符串
     * @return
     */
    public static String GBKCode(String tempSql){
        String returnString = convertNullCode(tempSql);
        try{
            byte[] ascii = returnString.getBytes("ISO-8859-1");
            returnString = new String(ascii,"GBK");
        }catch(Exception e){
            e.printStackTrace();
        }
        return returnString;
    }
    /**
     * 代码转换 从srcCode转换为destCode
     * @param srcCode 原编码
     * @param destCode 目标编码
     * @param strTmp 要转换的字符串
     * @return
     */
    public static String convertCode(String srcCode,String destCode,String strTmp){
        String returnString = convertNullCode(strTmp);
        try{
            byte[] ascii=returnString.getBytes(srcCode);
            returnString =new String(ascii,destCode);
        }catch(Exception e){
            e.printStackTrace();
        }
        return returnString;
    }
    /**
     * 代码转换,GBK转换为big5
     * @param tempSql 要转换的字符串
     * @return
     */
    public static String GBK2BIG5Code(String tempSql){
        String returnString = convertNullCode(tempSql);
        try{
            byte[] ascii=returnString.getBytes("GBK");
            returnString =new String(ascii,"big5");
        }catch(Exception e){
            e.printStackTrace();
        }
        return returnString;
    }
    //替换非法字符
    public static String convertHtml(String input){
        StringBuffer returnString = new StringBuffer(input.length());

        char ch = ' ';
        for (int i = 0;i<input.length();i++){

            ch = input.charAt( i);

            if (ch == '<'){
                returnString = returnString.append("&lt");
            }else if (ch == '>'){
                returnString = returnString.append("&gt");
            }else if (ch == ' '){
                returnString = returnString.append("&nbsp");
            }else if (ch == '\\'){
                returnString = returnString.append("&acute");
            }else{
                returnString = returnString.append(ch);
            }
        }
        return returnString.toString();
    }

    /*
     *
     */
    private String delSQlString(String sql){
        String delSql = "in(";
        StringTokenizer Tokenizer = new StringTokenizer(sql,"|");

        // 标记本身等于分隔符的特殊情况
        delSql += Tokenizer.nextToken().toString();
        while (Tokenizer.hasMoreTokens()) {
            delSql += Tokenizer.nextToken() + ",";
        }
        delSql = delSql.substring(0,delSql.length()-1) + ")";
        return delSql;
    }

    /*
     * format selectedIDs to sql language
     * in (...)
     * second of methods bt own idea
     */
    private String delNewSQlString(String sql){
        return "in (" + sql.replace('|',',') + ")";
    }

    private static final char[] QUOTE_ENCODE = "&quot;".toCharArray();
    private static final char[] AMP_ENCODE = "&amp;".toCharArray();
    private static final char[] LT_ENCODE = "&lt;".toCharArray();
    private static final char[] GT_ENCODE = "&gt;".toCharArray();

    /**
     * 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 filterString(String allstr)
    {
        StringBuffer returnString = new StringBuffer(allstr.length());
        char ch = ' ';
        for (int i = 0; i < allstr.length(); i++)
        {
            ch = allstr.charAt(i);
            String lsTemp = "'";
            char lcTemp = lsTemp.charAt(0);
            if (ch == lcTemp)
            {
                returnString.append("''");
            }
            else
            {
                returnString.append(ch);
            }
        }
        return returnString.toString();
    }
    /**
     * 数字的金额表达式
     * @param num
     * @return
     */
    public static String convertNumToMoney(int num){
        NumberFormat formatc = NumberFormat.getCurrencyInstance(Locale.CHINA);
        String strcurr = formatc.format(num);
        System.out.println(strcurr);
        //num = NumberFormat.getInstance().setParseIntegerOnly(true));
        return strcurr;
    }

    public static void main(String args[]){
        DealString.convertNumToMoney(1234566);
    }
}
目录
相关文章
|
1月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
22 1
|
4月前
|
Java API
【零基础学Java】—数组工具类Arrays(十七)
【零基础学Java】—数组工具类Arrays(十七)
|
4月前
|
Java
【零基础学Java】—数学工具类Math(十八)
【零基础学Java】—数学工具类Math(十八)
|
4月前
|
安全 算法 Java
Java之并发工具类的详细解析
3. 并发工具类 3.1 并发工具类-Hashtable Hashtable出现的原因 : 在集合类中HashMap是比较常用的集合对象,但是HashMap是线程不安全的(多线程环境下可能会存在问题)。为了保证数据的安全性我们可以使用Hashtable,但是Hashtable的效率低下。
29 0
|
7月前
|
Java
Java操作时间工具类
Java操作时间工具类
49 0
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
15 1
|
6天前
|
安全 Java
深入理解 Java 多线程和并发工具类
【4月更文挑战第19天】本文探讨了Java多线程和并发工具类在实现高性能应用程序中的关键作用。通过继承`Thread`或实现`Runnable`创建线程,利用`Executors`管理线程池,以及使用`Semaphore`、`CountDownLatch`和`CyclicBarrier`进行线程同步。保证线程安全、实现线程协作和性能调优(如设置线程池大小、避免不必要同步)是重要环节。理解并恰当运用这些工具能提升程序效率和可靠性。
|
27天前
|
JSON Java 网络安全
Java使用hutool工具类发送网络请求
Java使用hutool工具类发送网络请求
41 0
|
2月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
101 0
|
2月前
|
安全 算法 Java
Java Collections工具类:常用方法与技巧
Java Collections工具类:常用方法与技巧