【自制工具类】Java删除字符串中的元素

摘要:
储蓄很简单。你只需要判断它之前是否为空。如果为空,则直接添加。如果它不为空,请拼接a“,”,因此此字符串的数据结构为Stringstr=“a,b,c,d”;储蓄很简单。删除指定的元素怎么样?这有点麻烦。在互联网上检查了很长时间之后,它要么是js的实现,要么是其他语言的实现。所以我决定自己写一个工具类,整个上午都在读。有些演示我无法理解。

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

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

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

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

1   public staticString 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         returns;
20     }

包装成工具类的:

1 packageutils;
2 
3 importjava.util.ArrayList;
4 importjava.util.List;
5 
6 importorg.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 * @version1.0
18 */
19 public classDelStringEle {
20     
21 @Test
22     public voidjustForTest(){
23         String str = "a,b,c,d,e,f,g,g";
24         delStringElement(str, "f");
25 }
26     public staticString 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         returns;
45 }
46 }

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

免责声明:文章转载自《【自制工具类】Java删除字符串中的元素》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇蓝牙Host Controller Interface笔记zabbix监控MySQL主从状态下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

基于Android 9.0 电池温度异常提醒

极力推荐Android 开发大总结文章:欢迎收藏Android 开发技术文章大总结 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 一、 Framework 层字符串添加 二、Service 中实时监测 电池异常温度并弹窗提醒用户 检测电池温度,提示用户温度异常,请注意 Android 电池信息状态主要是...

C# List&amp;lt;T&amp;gt;排序总结(摘抄)

这里有很多种方法对List进行排序,本文总结了三种方法,但多种实现。 1.对基础类型排序 方法一: 调用sort方法,如果需要降序,进行反转: List<int> list = new List<int>(); list.Sort();// 升序排序 list.Reverse();// 反转顺序 方法二: 使用lambda表达式,在...

C#函数可变参数的使用

一般情况下,函数中参数是确定的。但是在某些情况下,函数的参数个数可以根据需要改变而改变,可变参数的函数使用方法是在参数前加params。 以下是我的一个demo: 查看代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Tex...

C#第三方Aspose.Words.dll导出Word(书签模板)方式说明

项目有遇到需要导出Word,在别人写好的基础上去修改样式,导出后发现样式不正确不整齐,于是采用模板的方式重新导出 1.模板word文件的制作,本人用office2013,在设计好需要的整个表格之后,在你需要替换的位置"插入"--书签 并命名,此命名需要在程序中进行替换 将做好的模板word文件放在程序目录下 2.引用Aspose.Words.dll 3.新...

云计算设计模式(八)——外部配置存储模式

云计算设计模式(八)——外部配置存储模式 移动配置信息从应用部署包到一个集中位置。这个模式可以提供机会,以便管理和配置数据的控制,以及用于跨应用程序和应用程序实例共享的配置数据。  背景和问题 大多数应用程序运行时环境包括位于应用程序文件夹内的在部署应用程序文件保持配置信息。在某些情况下也能够编辑这些文件来改变该应用程序的行为,它已经被部署之后。然而,在...

android获取Mac地址和IP地址

获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信息获取本地Mac public static String getLocalMacAddressFromWifiInfo(Context cont...