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

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

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

(0)

相关推荐

  • java数组与以逗号分隔开的字符串的相互转换操作

    数组转换成以逗号分隔开的字符串 String[] strArray = {"aaa","bbb","ccc"}: String str= StringUtils.join(strArry,","); System.out.println(str); 输出样式 "aaa,bbb,ccc" 以逗号分隔开的字符串转换成数组 String str = "aaa,bbb,ccc"; String

  • 判断以逗号分隔的字符串中是否包含某个数的实例

    1.首先将字符串变成字符串数组 2.将字符串数组转为List集合 3.利用List集合中的contains()方法,判断是否包含某个数 @Test public void test2222(){ String ids = "1,2,3,45,35"; String[] values = ids.split(","); List<String> list = Arrays.asList(values); if(list.contains("4&q

  • java 将 list 字符串用逗号隔开拼接字符串的多种方法

    第一种:使用谷歌Joiner方法 import com.google.common.base.Joiner; public static <T> String parseListToStr(List<T> list){ String result = Joiner.on(",").join(list); return result; } 第二种:循环插入逗号 //java项目www.fhadmin.org public static <T> Stri

  • java拼接字符串时去掉最后一个多余逗号的方法

    本文实例讲述了java拼接字符串时去掉最后一个多余逗号的方法.分享给大家供大家参考.具体分析如下: 先看下面这段代码: for (int t = 0; t < memberLen; t++) { memTemp = stafferMap.get(strMember[t]); if(memTemp != null){ memberNames += memTemp + ","; } } 以上的代码,拼接的字符串会多一个",",比如:"str1,str2,

  • 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="

  • Java8 将List转换为用逗号隔开的字符串的多种方法

    1.使用谷歌的Joiner转换 public static <T> String parseListToStr(List<T> list){ String result = Joiner.on(",").join(list); return result; } 2.使用lambda表达式遍历集合 public static <T> String parseListToStr2(List<T> list){ StringBuffer sb

  • JavaScript实现替换字符串中最后一个字符的方法

    本文实例讲述了JavaScript实现替换字符串中最后一个字符的方法.分享给大家供大家参考,具体如下: 1.问题背景 在一个输入框中,限制字符串长度为12位,利用键盘输入一个数字,会将字符串中最后一位替换,比如:111111111111,再输入一个3,会显示111111111113 2.具体实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht

  • php 删除一维数组中某一个值元素的操作方法

    1. 自己写for循环 从array里去掉$tmp这个元素的值 <?php $tmp = '324'; $arr = array( '0' => '321', '1' => '322', '2' => '323', '3' => '324', '4' => '325', '5' => '326', ); 代码 foreach( $arr as $k=>$v) { if($tmp == $v) unset($arr[$k]); } print_r($arr);

  • Java如何从json字符串中获取某个值详解

    目录 Java从json串中获取某个值 使用org.json进行解析 使用com.alibaba.fastjson进行解析 总结 Java从json串中获取某个值 java对象是不能直接传输,只有json对象 转成字符串 可以进行传输 故 传输中都是json进行的 接收到json数据之后java在进行解析转换成为字符串.且json适用于很多语言之间的传输 json本质上就是一个map. 对应有两种json进行解析 首先就是先对json的合法性进行验证 是否可以进行解析 点击这里 进行json解析

  • sqlserver中比较一个字符串中是否含含另一个字符串中的一个字符

    版本一:按分隔符进行比较 算法思路:按分隔符截取搜索字符串循环与待搜索字符进行比较 复制代码 代码如下: USE [Fly] GO --参数:@inStr 待搜索字串,@fndStr 搜索字串,@doc 分隔符 -- 例:select dbo.fSearch('1,2,3,4,5,6','3,6,5,8,2',',') 返回0-不匹配,返回1-匹配(@instr中有@fndStr内容) --可以用于表搜索,如: -- Select *,dbo.fSearch(str,'3,6,5,8,2',',

  • php查找字符串中第一个非0的位置截取

    话不多说,请看代码: $str = '00000000000000000000000000000000000000001234506'; $preg = '/[0]*/'; $result = preg_replace($preg, '', $str, 1); 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

  • asp+正则获得字符串中最后一个字母非字母不算

    复制代码 代码如下: Function getLastWord(str) Set regEx = New RegExp regEx.Pattern = "(.*)([a-zA-Z])[^a-zA-Z]*" regEx.IgnoreCase = false regEx.Global = True str = regEx.Replace(str,"$2") getLastWord = str Set reg=nothing End Function str="

  • 详解JavaScript数组和字符串中去除重复值的方法

    原理在代码中表现得非常清晰,我们直接来看代码例子: var ages = array.map(function(obj) { return obj.age; }); ages = ages.filter(function(v,i) { return ages.indexOf(v) == i; }); console.log(ages); //=> [17, 35] function isBigEnough(element) { return element >= 10; } var filte

随机推荐