java如何删除以逗号隔开的字符串中某一个值
作者:我不学java 发布时间:2023-06-12 11:59:19
标签:java,逗号隔开,字符串,某一值
删除以逗号隔开的字符串中某一个值
例如要删除 “1,2,3,4” 中的 2,返回 “1,3,4”
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class test {
public static void main(String[] args) {
String str="1,2,3,4"; //原字符串
String newStr=""; //新字符串
String[] array=str.split(","); //字符串转数组
List<String> list= Arrays.asList(array);
List<String> arrList = new ArrayList<String>(list); //字符串转集合
arrList.remove("2"); //要删除的元素
String[] strings = new String[arrList.size()]; //再将集合转为数组
String[] newArray = arrList.toArray(strings);
//遍历数组,插入逗号
for(int j=0;j<newArray.length;j++){
newStr+=newArray[j]+",";
}
if(!"".equals(newStr)){ //如果删完之后字符串不为空
newStr=newStr.substring(0, newStr.length()-1); //删除最后的逗号
}
System.out.println(newStr);
}
}
输出结果
移除以逗号分隔的字符串中指定元素
封装的一个小方法。
适用场景
如有个字段用来存储多个用户 ID,并且是以逗号分隔的,例:1,2,3,现要移除指定的某个 ID
核心代码
/*
* @ClassName Test
* @Desc TODO 移除指定用户 ID
* @Date 2019/8/31 14:58
* @Version 1.0
*/
public static String removeOne(String userIds, Long userId) {
// 返回结果
String result = "";
// 判断是否存在。如果存在,移除指定用户 ID;如果不存在,则直接返回空
if(userIds.indexOf(",") != -1) {
// 拆分成数组
String[] userIdArray = userIds.split(",");
// 数组转集合
List<String> userIdList = new ArrayList<String>(Arrays.asList(userIdArray));
// 移除指定用户 ID
userIdList.remove(userId.toString());
// 把剩下的用户 ID 再拼接起来
result = StringUtils.join(userIdList, ",");
}
// 返回
return result;
}
测试验证
直接 main 里面跑一下
// 传入的所有用户 ID
String userIds = "1,2,3";
// 遍历移除用户 ID,并打印到控制台
for(int i = 1 ; i <= 3; i++) {
System.out.println(userIds = removeOne(userIds, Long.parseLong(String.valueOf(i))));
}
控制台输出结果
2,3
3
方法写的很简单,用于字符串能确保正规的情况是足够了;当然也可以根据具体的业务场景来改善逻辑,使代码更加完美。
来源:https://blog.csdn.net/qq_40223803/article/details/104384822
0
投稿
猜你喜欢
- 目录一、服务的概念二、Android的多线程编程2.1 线程的基本用法2.2 在子线程中更新UI更新方式一更新方式二2.3 解析异步消息处理
- 本文实例为大家分享了C#抽象类与抽象方法的具体实现代码,供大家参考,具体内容如下1.代码class Program { stat
- 使用lamda表达式对list进行求和Lambda 表达式是 JDK8 的一个新特性,最近写项目中求和计算使用的较多,写篇文章记录下。1、实
- C#删除指定文件或文件夹public static string deleteOneFile(string fileFullPath) &n
- 在wpf中实现treeview的功能,可能看到很多分享的都是简单的绑定,仅此记录自己完成的功能。前台<TreeView x:Name=
- 有时候,我们使用AOP来进行放的增强,编写切面类的时候,需要定位在哪个方法上试用该切面进行增强,本片文章主要讲解两种在SpringBoot中
- Jenkins 关闭和重启我们用jar -jar jenkins.war来启动jenkins服务器,那么我们如何关闭或者重启jenkins服
- 本文实例为大家分享了java实现学生成绩档案管理系统的具体代码,供大家参考,具体内容如下实验要求• 学生信息录入,信息包括学号、姓名、专业、
- springboot项目不配置数据源启动报错spring boot默认会加载org.springframework.boot.autocon
- 正常状态是UP,跳闸是⼀种状态CIRCUIT_OPEN,可以通过/health查看,前提是工程中需要引入SpringBoot的actuato
- 什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部
- EL全称 Expression Language(表达式语言),是jsp2.0最重要的特性之一,可以利用EL表达式来访问应用程序中的数据,来
- 二分法查找,顾名思义就是要将数据每次都分成两份然后再去找到你想要的数据,我们可以这样去想,二分法查找很类似与我们平时玩的猜价格游戏,当你报出
- 先看代码public class TestDemo1 { public static void main(String[] ar
- 最近在项目过程中遇到了保存数据的需求,对实体类的部分数据进行保存,打算采用反射+自定义特性来实现数据保存,利于扩展1. 采用反射实现能够灵活
- 什么是Kotlin?Kotlin是一种可以在 Java 虚拟机 (JVM) 上运行的开源编程语言。该语言可以在许多平台上运行。它是一种将面向
- 本文讲述了Java获取彩 * 像中的主色彩的实例代码。分享给大家供大家参考,具体如下:一:基本思路对于一张RGB色彩空间的彩 * 像,很多时间我
- 背景kafka有分区机制,一个主题topic在创建的时候,会设置分区。如果只有一个分区,那所有的消费者都订阅的是这一个分区消息;如果有多个分
- 简单的理解,MyBatis逆向工程,就是通过相应插件,自动生成MyBatis数据库连接的一些文件。mybatis需要编写sql语句,myba
- Android在布局文件中为View提供了onClick属性,使用方法如下:<TextView android:id=&