1. 程式人生 > >字串中的空格處理

字串中的空格處理

由於要鑑別使用者輸入的字串根據   局、段 來進行分割。

基本思路是找到 局 、段字元出現的位置,使用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);
	}
}

執行結果如下:


測試程式碼如上,留作筆記。