这几天做项目需要把多个item的id存储到一个字符串中,保存进数据库。保存倒是简单,只需要判断之前是否为空,如果空就直接添加,非空则拼接个“,”

所以这个字符串的数据结构是这样的 String str = "a,b,c,d";

保存简单了,那么删除指定元素呢?这就有点麻烦了,取网上查了好久,不是js的实现就是其他语言的,所以决心自己写个工具类,看了一上午,其中不乏有看不懂的demo(不是Java)。

这是测试时候写的,已经可以用了,如果不想引入工具类的话,可以复制到你的demo中,前提是字符串的结构和我之前具体相同

   public static String delStringElement(String strArray, String removeStr){
String[] stringArray = strArray.split(",");
List<String> list = new ArrayList<String>();
for (int i = 0; i < stringArray.length; i++) {
list.add(stringArray[i]);
}
list.remove(removeStr);
System.out.println(list);
int size = list.size();
String[] array = list.toArray(new String[size-1]);
String s = "";
for(int i=0;i<array.length;i++){
if (i == 0) {
s += array[i];
}else {
s += ","+array[i];
}
}
return s;
}

包装成工具类的:

 package utils;

 import java.util.ArrayList;
import java.util.List; import org.junit.Test; /**
*
* <p>Title: DelStringEle.java</p>
* <p>Description: 删除如:"a,b,c,d"这种格式的字符串中的不重复元素(如果重复会都删掉一个)
* 这个bug还没搞明白是怎么回事,有空更新一下[smile`]</p>
* <p>Copyright: Copyright (c) 2017</p>
* <p>Blog: http://www.cnblogs.com/hellxz/p/7568298.html</p>
* @author 东北小狐狸
* @date 2017年9月21日
* @version 1.0
*/
public class DelStringEle { @Test
public void justForTest(){
String str = "a,b,c,d,e,f,g,g";
delStringElement(str, "f");
}
public static String delStringElement(String strArray, String removeStr){
String[] stringArray = strArray.split(",");
List<String> list = new ArrayList<String>();
for (int i = 0; i < stringArray.length; i++) {
list.add(stringArray[i]);
}
list.remove(removeStr);
System.out.println(list);
int size = list.size();
String[] array = list.toArray(new String[size-1]);
String s = "";
for(int i=0;i<array.length;i++){
if (i == 0) {
s += array[i];
}else {
s += ","+array[i];
}
}
return s;
}
}

基本就这样了,如果有错误欢迎修改代码,欢迎评论拍砖。

【自制工具类】Java删除字符串中的元素的更多相关文章

  1. Java 删除ArrayList中重复元素,保持顺序

    // 删除ArrayList中重复元素,保持顺序          public static List<Map<String, Object>> removeDuplicat ...

  2. 005-guava 集合-集合工具类-java.util.Collections中未包含的集合工具[Maps,Lists,Sets],Iterables、Multisets、Multimaps、Tables

    一.概述 工具类与特定集合接口的对应关系归纳如下: 集合接口 属于JDK还是Guava 对应的Guava工具类 Collection JDK Collections2:不要和java.util.Col ...

  3. java 删除字符串中的反斜杠\

    Java中有时候会打印出来会含有反斜杠(\)的字符串,我们需要删除时,可以使用 replace() 或 replaceAll() 但是要注意的是replaceAll()里面用的是正则表达式,所以一个斜 ...

  4. java 删除字符串中的特定字符

    /** * Delete any character in a given String. * @param inString the original String * @param charsTo ...

  5. Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符

    ylbtech-Java-Runoob-高级教程-实例-字符串:03. Java 实例 - 删除字符串中的一个字符 1.返回顶部 1. Java 实例 - 删除字符串中的一个字符  Java 实例 以 ...

  6. java工具类之按对象中某属性排序

    import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang ...

  7. Java并发工具类CountDownLatch源码中的例子

    Java并发工具类CountDownLatch源码中的例子 实例一 原文描述 /** * <p><b>Sample usage:</b> Here is a pai ...

  8. 获取Spring容器中Bean实例的工具类(Java泛型方法实现)

    在使用Spring做IoC容器的时候,有的类不方便直接注入bean,需要手动获得一个类型的bean. 因此,实现一个获得bean实例的工具类,就很有必要. 以前,写了一个根据bean的名称和类型获取b ...

  9. 1231: 删除字符串中指定的字符(Java)

    WUSTOJ 1231: 删除字符串中指定的字符 题目 原题链接 Description 明天就要英语考试了,小明明正在挑灯夜战背单词.小明明发现单词很难背,背一个忘一个.经过仔细研究,小明明发现单词 ...

随机推荐

  1. ArcGIS API for Javascript 加载天地图(墨卡托投影)

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  2. String源码图

    String StringBuffer StringBuilder 均为对字符数组的操作. 实现了不同的接口,导致不同的覆写. 实现了同样的接口,适应不同的场景.

  3. Windows zip安装MySQL

    1. mysqld初始化时my.ini的第二个默认位置是%windir%/my.ini rem 1.查看此变量对应的目录,在此目录下编辑 my.ini,mysqld会自动找到 echo %WINDIR ...

  4. 基于Docker的ELK日志平台搭建

    1.安装Docker Docker可简单理解为一个轻量级的虚拟机.Docker对进程进行封装隔离,隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器.Docker和传统虚拟化方式的不同.传统虚拟 ...

  5. Linux下查找文件的方法

    在Linux环境下查找一个文件的方法:find 路径 -name 'filename',filename不清楚全名的话可以用*号进行匹配,如“tomcat.*”.如果不清楚路径的话可以用"/ ...

  6. Jenkins 学习笔记(一):我对 Jenkins 的宏观认识

    Jenkins 是一个持续构建的系统,通过一周的了解熟悉,其逻辑似乎很简单. Jenkins 拓扑 Jenkins 逻辑 1. 从代码库拉取代码. 2. 处理代码. 对于需要编译的程序,需要进行处理, ...

  7. JAVA学习知识点汇总

    异常处理 1.在异常处理中,如果子类覆盖了父类的一个方法,子类方法中声明的已检查异常不能比父类方法声明的异常更通用,即子类方法可以抛出更特定的异常(不超过父类方法声明的异常范围,即由父类方法声明异常派 ...

  8. Nginx服务器配置之location语法分析

    location基本语法:location [=|~|~*|^~] /uri/ { - } = 严格匹配.如果这个查询匹配,那么将停止搜索并立即处理此请求. ~ 为区分大小写匹配(可用正则表达式) ! ...

  9. label按钮和文字对齐

    label按钮和文字对齐 做表单的时候,经常遇到:复选框和文字对不齐的情况 ========================== 下面方法可以对齐 <!--label [[--> < ...

  10. JS ajaxfileUpload 一次性上传多个input控件 上传多个文件

    本方法适用于一次性上传多个input框输入的文件,如下图所示,任务是需要一次上传两个input框提供的两个文件. 具体方法: 1.修改ajax调用方法 如上图所示,只需要将ajaxFileUpload ...