就是將字符數以某種規則拆分
一般這個函數我們用來處理一個字段里包含了多條數據的場景,當然數據要以空格,逗號,或者其他明顯的分隔符隔開(不明顯也行,但沒啥)
首先,看一下該函數的參數
public String[] split(String regex, int limit)
- regex -- 正則表達式分隔符。
- limit -- 分割的份數。
上例子:
String str = "one two three, four"; String[] tokens = str.split(" "); for (String s: tokens) System.out.println(s);

結果顯而易見就是以空格為分隔符截取
也可以再加一個截取份數的參數,自己試一試
下面這個例子是做項目寫的,簡單說一下 其中將查到的數據放在一個list里面,其中controlareas字段是含有多個數據的字段,然后將其分割放到數組str里,遍歷數組,在對該字段的單一數據進行業務操作。
IPage<ElAlarmControlVehicle> list = elAlarmControlVehicleService.page(Condition.getPage(query), queryWrapper); if (!list.getRecords().isEmpty()) { for (int i = 0; i < list.getRecords().size(); i++) { String strAreas = ""; if (!"".equals(list.getRecords().get(i).getControlAreas()) && null != list.getRecords().get(i).getControlAreas()) { String[] str = list.getRecords().get(i).getControlAreas().split(","); if (str.length > 0) { for (String s : str) { strAreas += elCommInfoService.getCommInfo(s) + ","; log.info(strAreas); } //substring這個方法截取的字符串從參數一開始,到字符串索引的參數二 - 1結束,即截取的字符串不包括參數二這個索引對應的字符,所以參數二的最大值為整個字符串的長度,所以使用這個方法的時候需要特別注意容易發生字符串截取越界的問題 list.getRecords().get(i).setControlAreas(strAreas.substring(0, strAreas.length() - 1)); } } } }
