昨天,遇到了一个技术问题。本来我在程序中用的trim()方法来处理从JSP页面传来的值,后来在测试时,发现当我输入的是全角空格时,trim()方法失效。
需求是这样的,只是去掉字符串两端的空格(不论是全角空格还是半角空格),字符串中间的空格不变。后来经过查资料和研究,总结出了以下两种写法:
一、字符串的字符替换法:
思路:(1)将字符串中所以有的全角空格转换成两个半角空格
(2)用trim()方法去掉字符串两端的空格(此时全是半角空格)
(3)将两个相邻的半角合成一个全角
评价:这方法遇到字符串中间是半角+全角的时间,(3)步中有可能合并后,与原来
不一样。
原代码:
public String trim(String Str){
String newstr = Str.replaceAll(""," ");
newstr = newstr.trim();
newstr = newstr.replaceAll(" ","");
return newstr;
}
二、正则表达式转换法:
思路:利用正则表达式进行匹配替换。
评价:这应该是正统的解决之道
原代码:
例1:
public static String trims(String Str,String Flag) {
if (Str == null || Str.equal
java 正则表达式替换多个全角空格为一个半角空格_去掉字符串两端的全角空格和半角空格(含源代码)...