删除字符串某一指定子字符串

文章目录

  • 功能:删除字符串某一指定子字符串
  • 业务场景
  • 实现方法
    • 1、Java实现

功能:删除字符串某一指定子字符串

业务场景

在数据库中有一个String类型的字符串,该字符串通过逗号进行分割,现在前端传过来字符串中的一个子字符串,要求:把子字符串删除,并把删除后的字符串UPDATE到数据中。

示例:

原字符串 “A01,A02,A03,A04” ====》 前端传来子字符串"A03" ====》删除子字符串"A03" ====》将新的字符串"A01,A02,A04" UPDATE

实现方法

1、Java实现

实现思路:

  1. 判断数据库中的目标字符串目标字符串是否有逗号,如果没有,就说明数据库中只存在一个子字符串,即前端传来的要删除的字符串,直接返回空
  2. 如果目标字符串存在逗号,将目标字符串通过逗号分割成一个字符串数组,将数组转成list集合
  3. 利用集合的remove方法,删除指定字符串
  4. 将删除后的集合中的元素利用StringUtils.join方法 (com.sun.deploy.util.StringUtils包下)重新拼接成一个新的字符串
import com.sun.deploy.util.StringUtils;

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

    /**
     * @param targetStr 数据库中的目标字符串
     * @param deleteStr 前端传过来的要删除的子字符串
     * @return 删除完后的字符串
     * @Desc TODO   移除指定字符串
     */
    public static String removeString(String targetStr, String deleteStr) {
        // 返回结果
        String result = "";
        // 判断是否存在逗号。如果存在,表示有逗号分隔的多个子字符串,移除指定字符串;
        // 如果不存在,说明只存在一个字符串没有逗号分隔,那么要删除的就是数据库中存在的targetStr,则直接返回空
        if (targetStr.indexOf(",") != -1) {
            // 拆分成数组
            String[] userIdArray = targetStr.split(",");
            // 数组转集合
            List<String> userIdList = new ArrayList<String>(Arrays.asList(userIdArray));
            // 移除指定字符串
            userIdList.remove(deleteStr);
            // 把剩下的字符串 通过逗号再拼接起来
            result = StringUtils.join(userIdList, ",");
        }
        // 返回
        return result;
    }


public static void main(String[] args) {

        String targetStr = "A01,A02,A03,A04";
        String deleteStr = "A03";

        String result = removeString(targetStr, deleteStr);
        System.out.println(result);

    }

打印结果:

删除字符串某一指定子字符串_第1张图片

插播一条链接!!!

IDEA自定义JavaDOC注释模板

你可能感兴趣的:(Java,java,开发语言)