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(","); //字符串轉(zhuǎn)數(shù)組
List<String> list= Arrays.asList(array);
List<String> arrList = new ArrayList<String>(list); //字符串轉(zhuǎn)集合
arrList.remove("2"); //要刪除的元素
String[] strings = new String[arrList.size()]; //再將集合轉(zhuǎn)為數(shù)組
String[] newArray = arrList.toArray(strings);
//遍歷數(shù)組,插入逗號
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);
}
}輸出結(jié)果

移除以逗號分隔的字符串中指定元素
封裝的一個小方法。
適用場景
如有個字段用來存儲多個用戶 ID,并且是以逗號分隔的,例:1,2,3,現(xiàn)要移除指定的某個 ID
核心代碼
/*
? ? ?* @ClassName Test
? ? ?* @Desc TODO ? 移除指定用戶 ID
? ? ?* @Date 2019/8/31 14:58
? ? ?* @Version 1.0
? ? ?*/
? ? public static String removeOne(String userIds, Long userId) {
? ? ? ? // 返回結(jié)果
? ? ? ? String result = "";
? ? ? ? // 判斷是否存在。如果存在,移除指定用戶 ID;如果不存在,則直接返回空
? ? ? ? if(userIds.indexOf(",") != -1) {
? ? ? ? ? ? // 拆分成數(shù)組
? ? ? ? ? ? String[] userIdArray = userIds.split(",");
? ? ? ? ? ? // 數(shù)組轉(zhuǎn)集合
? ? ? ? ? ? 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))));
}控制臺輸出結(jié)果
2,3
3
方法寫的很簡單,用于字符串能確保正規(guī)的情況是足夠了;當(dāng)然也可以根據(jù)具體的業(yè)務(wù)場景來改善邏輯,使代碼更加完美。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEA自定義代碼提示模板Live Templates的圖文教程
這篇文章主要介紹了IntelliJ IDEA自定義代碼提示模板Live Templates,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
jar命令修改jar包中的application.yml配置文件
本文主要介紹了jar命令修改jar包中的application.yml配置文件,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
Java 8跳過本次循環(huán),繼續(xù)執(zhí)行以及跳出循環(huán),終止循環(huán)的代碼實例
今天小編就為大家分享一篇關(guān)于Java 8跳過本次循環(huán),繼續(xù)執(zhí)行以及跳出循環(huán),終止循環(huán)的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10
maven多profile 打包下 -P參和-D參數(shù)的實現(xiàn)
這篇文章主要介紹了maven多profile 打包下 -P參和-D參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

