java如何刪除以逗號(hào)隔開的字符串中某一個(gè)值
刪除以逗號(hào)隔開的字符串中某一個(gè)值
例如要?jiǎng)h除 “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"); //要?jiǎng)h除的元素 String[] strings = new String[arrList.size()]; //再將集合轉(zhuǎn)為數(shù)組 String[] newArray = arrList.toArray(strings); //遍歷數(shù)組,插入逗號(hào) for(int j=0;j<newArray.length;j++){ newStr+=newArray[j]+","; } if(!"".equals(newStr)){ //如果刪完之后字符串不為空 newStr=newStr.substring(0, newStr.length()-1); //刪除最后的逗號(hào) } System.out.println(newStr); } }
輸出結(jié)果
移除以逗號(hào)分隔的字符串中指定元素
封裝的一個(gè)小方法。
適用場(chǎng)景
如有個(gè)字段用來存儲(chǔ)多個(gè)用戶 ID,并且是以逗號(hào)分隔的,例:1,2,3,現(xiàn)要移除指定的某個(gè) 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; ? ? }
測(cè)試驗(yàn)證
直接 main 里面跑一下
// 傳入的所有用戶 ID String userIds = "1,2,3"; // 遍歷移除用戶 ID,并打印到控制臺(tái) for(int i = 1 ; i <= 3; i++) { ? System.out.println(userIds = removeOne(userIds, Long.parseLong(String.valueOf(i)))); }
控制臺(tái)輸出結(jié)果
2,3
3
方法寫的很簡(jiǎn)單,用于字符串能確保正規(guī)的情況是足夠了;當(dāng)然也可以根據(jù)具體的業(yè)務(wù)場(chǎng)景來改善邏輯,使代碼更加完美。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- java中List數(shù)組用逗號(hào)分隔開轉(zhuǎn)成字符串2種方法
- Java中實(shí)現(xiàn)String字符串用逗號(hào)隔開
- java如何把逗號(hào)分隔的String字符串轉(zhuǎn)int集合
- java 將 list 字符串用逗號(hào)隔開拼接字符串的多種方法
- Java8 將List轉(zhuǎn)換為用逗號(hào)隔開的字符串的多種方法
- java數(shù)組與以逗號(hào)分隔開的字符串的相互轉(zhuǎn)換操作
- java判斷字符串是否有逗號(hào)的方法
- java拼接字符串時(shí)去掉最后一個(gè)多余逗號(hào)的方法
- Java去掉字符串最后一個(gè)逗號(hào)的方法
相關(guān)文章
Java代碼實(shí)現(xiàn)微信頁面滾動(dòng)防露底(核心代碼)
這篇文章主要介紹了Java代碼實(shí)現(xiàn)微信頁面滾動(dòng)防露底的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09如何更優(yōu)雅地獲取spring boot yml中的值
這篇文章主要給大家介紹了關(guān)于如何更優(yōu)雅地獲取spring boot yml中值的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06SpringCloud_Sleuth分布式鏈路請(qǐng)求跟蹤的示例代碼
Spring Cloud Sleuth是一款針對(duì)Spring Cloud的分布式跟蹤工具,本文通過實(shí)例代碼介紹了SpringCloud_Sleuth分布式鏈路請(qǐng)求跟蹤,感興趣的朋友跟隨小編一起看看吧2023-02-02SpringBoot基于Mybatis-Plus自動(dòng)代碼生成
這篇文章主要介紹了SpringBoot基于Mybatis-Plus自動(dòng)代碼生成,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04MyBatis-Plus通用枚舉自動(dòng)關(guān)聯(lián)注入的實(shí)現(xiàn)
本文主要介紹了MyBatis-Plus通用枚舉自動(dòng)關(guān)聯(lián)注入的實(shí)現(xiàn),解決了繁瑣的配置,讓 mybatis 優(yōu)雅的使用枚舉屬性,感興趣的可以一起來了解一下2021-06-06