java如何删除以逗号隔开的字符串中某一个值

 更新时间:2022年06月30日 10:51:05   作者:我不学java  
这篇文章主要介绍了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

方法写的很简单,用于字符串能确保正规的情况是足够了;当然也可以根据具体的业务场景来改善逻辑,使代码更加完美。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java设计模式之中介者模式

    java设计模式之中介者模式

    这篇文章主要为大家详细介绍了java设计模式之中介者模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • IntelliJ IDEA自定义代码提示模板Live Templates的图文教程

    IntelliJ IDEA自定义代码提示模板Live Templates的图文教程

    这篇文章主要介绍了IntelliJ IDEA自定义代码提示模板Live Templates,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 基于StringUtils工具类的常用方法介绍(必看篇)

    基于StringUtils工具类的常用方法介绍(必看篇)

    下面小编就为大家带来一篇基于StringUtils工具类的常用方法介绍(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java Socket实现简易聊天室

    Java Socket实现简易聊天室

    这篇文章主要为大家详细介绍了Java Socket实现简易聊天室,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-03-03
  • jar命令修改jar包中的application.yml配置文件

    jar命令修改jar包中的application.yml配置文件

    本文主要介绍了jar命令修改jar包中的application.yml配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例

    Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例

    今天小编就为大家分享一篇关于Java 8跳过本次循环,继续执行以及跳出循环,终止循环的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • SpringBoot整合阿里云开通短信服务详解

    SpringBoot整合阿里云开通短信服务详解

    这篇文章主要介绍了如何利用SpringBoot整合阿里云实现短信服务的开通,文中的示例代码讲解详细,对我们学习有一定帮助,需要的可以参考一下
    2022-03-03
  • maven多profile 打包下 -P参和-D参数的实现

    maven多profile 打包下 -P参和-D参数的实现

    这篇文章主要介绍了maven多profile 打包下 -P参和-D参数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • java基本教程之线程让步 java多线程教程

    java基本教程之线程让步 java多线程教程

    本文对Thread中的线程让步方法yield()进行介绍,yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权,大家参考使用吧
    2014-01-01
  • Spring Bean如何实现自动配置代码实例

    Spring Bean如何实现自动配置代码实例

    这篇文章主要介绍了Spring Bean如何实现自动配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09

最新评论