字串中的空格處理
阿新 • • 發佈:2019-02-01
由於要鑑別使用者輸入的字串根據 局、段 來進行分割。
基本思路是找到 局 、段字元出現的位置,使用indexOf()方法可以滿足該需求。 找到位置後使用substring(0,bid);進行擷取。
擷取後的字串使用trim()方法進行首尾空格的剔除。
本以為這就完事了,然鵝,還有這樣的欄位: 北 京 鐵 路 局 山 海 關 段。那麼問題來了 :中間的空格怎麼去掉。
查詢commons-lang-2.6.jar 在發現org.apache.commons.lang.StringUtils;
StringUtils 中有這樣的方法 deleteWhitespace();沒有錯望文生義 他就是去掉中間 的空格的。
package com.zy.customer.util; import org.apache.commons.lang.StringUtils; /** * 分析使用者註冊資訊工具類 * @author zy_xuYang * @date 2017年10月26日 * @version V1.0 * */ public class RegisterUtil { private static String bid; private static String did; public static String getBid() { return bid; } public static void setBid(String bid) { RegisterUtil.bid = bid; } public static String getDid() { return did; } public static void setDid(String did) { RegisterUtil.did = did; } public static void getRegistInfo(String registInfo) { registInfo.contains("局"); int jid = registInfo.indexOf("局"); int did = registInfo.indexOf("段"); String jstr = registInfo.substring(0,jid); String dstr = registInfo.substring(jid+1,did); System.out.println("局: " + StringUtils.deleteWhitespace(jstr.trim()) + " 段: " + StringUtils.deleteWhitespace(dstr.trim())); setBid(jstr.trim()); setDid(dstr.trim()); //局: 北京 鐵路 段: 北京 //局: 北京 鐵路 段: 北京 } public static void main(String[] args) { String registInfo = "北 京 鐵路 局 北 京 段"; RegisterUtil.getRegistInfo(registInfo); } }
執行結果如下:
測試程式碼如上,留作筆記。