温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2022-06-30 13:55:29 来源:亿速云 阅读:201 作者:iii 栏目:开发技术

本文小编为大家详细介绍“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);
    }
}

输出结果

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

移除以逗号分隔的字符串中指定元素

封装的一个小方法。

适用场景

如有个字段用来存储多个用户 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怎么删除以逗号隔开的字符串中某一个值”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI