在获取到一个字符串之后,可能需要将字符串的首尾空格删除。
首先想到的可能是 trim() 方法
使用trim的话,的确可以将字符串的首尾空格删除,但是这只限于是“半角空格”,如果输入了“全角的空格”,使用trim()是没有办法去除的
从网上找到一个方法,使用正则表达式来处理,很好用,记录下来
package org.ygy.simple.demo;
public class CommonUtil {
/**
* 去除字符串首尾空格(包括半角,全角的空格)
* @param source 原字符串
* @return 去除空格的字符串
*/
public String trimSpace(String source) {
return source == null ? source : source.replaceAll("^[\\s ]*|[\\s ]*$", "");
}
}
简单测试一下:
package org.ygy.simple.demo;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
public class TestTrimSpace {
private CommonUtil commonUtil = null;
@Before
public void before() {
commonUtil = new CommonUtil();
}
@Test
public void testTrimSpace() {
assertEquals("hello world" , commonUtil.trimSpace(" hello world "));
assertEquals("上海" , commonUtil.trimSpace(" 上海 "));
assertEquals("浦 东" , commonUtil.trimSpace(" 浦 东 "));
}
}