美文网首页
Java去除首尾指定字符

Java去除首尾指定字符

作者: 佛系千树 | 来源:发表于2019-01-29 16:07 被阅读0次

    前记:
    发布公告这个功能点,mysql数据表涉及不合理,公告的标题和内容作为列表一起存储在一个"content"字段里,原先项目是由Python编写,存进表的时候格式特定为:u'www',u'ttt' 。查了一下,u应该是和Python语法有关,用在字符串前面,以Unicode编码,防止中文乱码。用Java重构Python代码,由于线上已有数据,只能按照之前格式存储,也因此在查看公告详情的时候,需要对数据表的content字段做拆分(split)处理,然后截取(substring)第一个字符,再对字符串首尾单引号做一个去除处理,我将此封装到一个公共的方法里,代码如下:

    /**
     * 去除首尾指定字符
     * @param str   字符串
     * @param element   指定字符
     * @return
     */
    public static String trimFirstAndLastChar(String str, String element){
        boolean beginIndexFlag = true;
        boolean endIndexFlag = true;
        do{
            int beginIndex = str.indexOf(element) == 0 ? 1 : 0;
            int endIndex = str.lastIndexOf(element) + 1 == str.length() ? str.lastIndexOf(element) : str.length();
            str = str.substring(beginIndex, endIndex);
            beginIndexFlag = (str.indexOf(element) == 0);
            endIndexFlag = (str.lastIndexOf(element) + 1 == str.length());
        } while (beginIndexFlag || endIndexFlag);
        return str;
    }
    

    调用的时候只需要传参即可。示例如下:

    //字符串contextArr为'发布公告新test',u'倒计时最后4天!!!'
    String[] contextArr = StringUtils.split(context, ",");
    String title = contextArr[0];
    String content = contextArr[1];
    //去掉首尾字符串'
    title = StringUtil.trimFirstAndLastChar(title, "'");
    content = StringUtil.trimFirstAndLastChar(content, "'");
    

    相关文章

      网友评论

          本文标题:Java去除首尾指定字符

          本文链接:https://www.haomeiwen.com/subject/kgvxsqtx.html