zoukankan      html  css  js  c++  java
  • 【自制工具类】Java删除字符串中的元素

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

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

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

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

     1   public static String delStringElement(String strArray, String removeStr){
     2         String[] stringArray = strArray.split(",");
     3         List<String> list = new ArrayList<String>();
     4         for (int i = 0; i < stringArray.length; i++) {
     5             list.add(stringArray[i]);
     6         }
     7         list.remove(removeStr);
     8         System.out.println(list);
     9         int size = list.size();
    10         String[] array = list.toArray(new String[size-1]);
    11         String s = "";
    12         for(int i=0;i<array.length;i++){
    13             if (i == 0) {
    14                 s += array[i];
    15             }else {
    16                 s += ","+array[i];
    17             }
    18         }
    19         return s;
    20     }

    包装成工具类的:

     1 package utils;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import org.junit.Test;
     7 
     8 /**
     9 * 
    10 * <p>Title: DelStringEle.java</p>  
    11 * <p>Description: 删除如:"a,b,c,d"这种格式的字符串中的不重复元素(如果重复会都删掉一个)
    12 *                         这个bug还没搞明白是怎么回事,有空更新一下[smile`]</p>  
    13 * <p>Copyright: Copyright (c) 2017</p>  
    14 * <p>Blog: http://www.cnblogs.com/hellxz/p/7568298.html</p>  
    15 * @author 东北小狐狸 
    16 * @date 2017年9月21日  
    17 * @version 1.0
    18 */
    19 public class DelStringEle {
    20     
    21     @Test
    22     public void justForTest(){
    23         String str = "a,b,c,d,e,f,g,g";
    24         delStringElement(str, "f");
    25     }
    26     public static String delStringElement(String strArray, String removeStr){
    27         String[] stringArray = strArray.split(",");
    28         List<String> list = new ArrayList<String>();
    29         for (int i = 0; i < stringArray.length; i++) {
    30             list.add(stringArray[i]);
    31         }
    32         list.remove(removeStr);
    33         System.out.println(list);
    34         int size = list.size();
    35         String[] array = list.toArray(new String[size-1]);
    36         String s = "";
    37         for(int i=0;i<array.length;i++){
    38             if (i == 0) {
    39                 s += array[i];
    40             }else {
    41                 s += ","+array[i];
    42             }
    43         }
    44         return s;
    45     }
    46 }

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

  • 相关阅读:
    Six steps to create google map in the HTML5
    Vocabularies on vegetable, fruit, meat etc.
    常用的Windows命令
    sqlhelper
    素材
    sql sever 跨库查询
    在annotation中却会有ERROR: Duplicate entry
    一份Java学习路线图
    Java算法实例集合(2)
    Java编程规范实践
  • 原文地址:https://www.cnblogs.com/hellxz/p/7568298.html
Copyright © 2011-2022 走看看