文章目录
- 功能:删除字符串某一指定子字符串
- 业务场景
- 实现方法
- 1、Java实现
功能:删除字符串某一指定子字符串
业务场景
在数据库中有一个String类型的字符串,该字符串通过逗号进行分割,现在前端传过来字符串中的一个子字符串,要求:把子字符串删除,并把删除后的字符串UPDATE到数据中。
示例:
原字符串 “A01,A02,A03,A04” ====》 前端传来子字符串"A03" ====》删除子字符串"A03" ====》将新的字符串"A01,A02,A04" UPDATE
实现方法
1、Java实现
实现思路:
- 判断数据库中的目标字符串目标字符串是否有逗号,如果没有,就说明数据库中只存在一个子字符串,即前端传来的要删除的字符串,直接返回空
- 如果目标字符串存在逗号,将目标字符串通过逗号分割成一个字符串数组,将数组转成list集合
- 利用集合的
remove
方法,删除指定字符串 - 将删除后的集合中的元素利用
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);}
打印结果:
插播一条链接!!!
IDEA自定义JavaDOC注释模板