栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

字符串工具类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

字符串工具类

找出字符串中的阿拉伯数字、找出字符串中的中文数字、去除两边 ?

import com.google.common.base.Strings;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import static org.apache.commons.lang3.StringUtils.isEmpty;


public class StringUtils {

    
    public static String getIfEmpty(String str, String defaultStr) {
        if (str == null || "".equals(str)) {
            return defaultStr;
        }
        return str;
    }


    public static boolean isNotNullOrEmpty(String str) {
        return !Strings.isNullOrEmpty(str);
    }

    
    public static List getArabicNum(String str) {
        List nums = new ArrayList<>();
        if (StringUtils.isNotNullOrEmpty(str)) {
            List strNums = Arrays.asList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", ".");

            char[] chars = str.toCharArray();
            String num = "";
            for (char c : chars) {
                String value = String.valueOf(c);
                if (strNums.contains(value)) {
                    num += value;
                } else {
                    num = trimBothSides(num, ".");
                    if (StringUtils.isNotNullOrEmpty(num)) {
                        nums.add(num);
                        num = "";
                    }
                }
            }
            num = trimBothSides(num, ".");
            if (StringUtils.isNotNullOrEmpty(num)) {
                nums.add(num);
            }
        }

        return nums;
    }

    
    public static List getChineseNum(String str) {
        List nums = new ArrayList<>();
        if (StringUtils.isNotNullOrEmpty(str)) {
            List strNums = Arrays.asList("零", "一", "二", "两", "三", "四", "五", "六", "七", "八", "九", "十", "百", "千", "万", "亿");

            char[] chars = str.toCharArray();
            String num = "";
            for (char c : chars) {
                String value = String.valueOf(c);
                if (strNums.contains(value)) {
                    num += value;
                } else {
                    if (StringUtils.isNotNullOrEmpty(num)) {
                        nums.add(num);
                        num = "";
                    }
                }
            }
            if (StringUtils.isNotNullOrEmpty(num)) {
                nums.add(num);
            }
        }

        return nums;
    }

    
    public static String trimBothSides(String str, String var) {
        if (StringUtils.isNotNullOrEmpty(str) && StringUtils.isNotNullOrEmpty(var)) {
            boolean b1 = true;
            boolean b2 = true;
            do {
                if (str.length() > 0) {
                    String s1 = str.substring(0, 1);
                    if (s1.equals(var)) {
                        str = str.substring(1, str.length());
                    } else {
                        b1 = false;
                    }
                }

                if (str.length() > 0) {
                    String s1 = str.substring(str.length() - 1, str.length());
                    if (s1.equals(var)) {
                        str = str.substring(0, str.length() - 1);
                    } else {
                        b2 = false;
                    }
                }
            } while (str.length() > 0 && (b1 || b2));
        }
        return str;
    }

    public static void main(String[] args) {
        System.out.println(getArabicNum("012哈哈23哈哈哈101"));
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777695.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号