java 去除首尾指定字符

  • Post author:
  • Post category:java



//  String resMsgReg = '"""[]""ssaajal"sdf[a]sas"]]]"[]';
String resMsgReg = "\"\"\"[]\"\"ssaajal\"sdf[a]sas\"]]]\"[]";

String resMsg = StringTrimUtils.trimChar(resMsgReg, '"');//改为使用自定义工具:去除首尾指定字符串(去除首尾引号字符)
打印结果为:
[]""ssaajal"sdf[a]sas"]]]"[]


String resMsg2 = StringTrimUtils.trimChar(resMsgReg, new char[]{'"','[',']'});//trim掉首尾字符 "   [    ]

打印结果为:
ssaajal"sdf[a]sas



public class StringTrimUtils {

    /**
     * 去除字符串指定首尾字符
     * 参照 String.trim() 方法写的
     * @param sourceStr 待处理字符串
     * @param trimStr 待去除的字符
     * @return
     */
    public static String trimChar(String sourceStr, char trimStr) {
        int len = sourceStr.length();
        int st = 0;
        char[] val = sourceStr.toCharArray();

        while ((st < len) && (val[st] <= trimStr)) {
            st++;
        }
        while ((st < len) && (val[len - 1] <= trimStr)) {
            len--;
        }
        return ((st > 0) || (len < sourceStr.length())) ? sourceStr.substring(st, len) : sourceStr;
    }

    /**
     * 去除字符串指定首尾字符:多个字符
     * 参照 String.trim() 方法写的
     * @param sourceStr 待处理字符串
     * @param trimStrArr 待去除的字符 数组集合
     * @return
     */
    public static String trimChar(String sourceStr, char[] trimStrArr) {
        for (char trimStr:trimStrArr){
            sourceStr = trimChar(sourceStr, trimStr);
        }
        return sourceStr;
    }
}



版权声明:本文为torpidcat原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。