删除字符串某一指定子字符串
功能:删除字符串某一指定子字符串
业务场景
在数据库中有一个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); }
打印结果:
插播一条链接!!!
下一篇:
EasyExcel的jar包 和 使用