字符串去空格问题(转)

来源:互联网 发布:类似音悦台的软件 编辑:程序博客网 时间:2024/06/03 17:10
1、去掉前后的空格 
String里最常用的方法trim()。 
String s = "  abc   "; Sysout.println("--" + s.trim() + "--"); 

打印的结果 
--abc-- 

2、去掉字符串中间的空格 
试用环境:比如从word,excl或者数据库中取用户名时,“李四”和“李 四”和“李     四”都应该为同一个用户。 
public String del_space(String str) {  if (str == null) {   return null;  }  char[] str_old = str.toCharArray();  StringBuffer str_new = new StringBuffer();   int i = 0;  for (char a : str_old) {   if (a != ' ') {    str_new.append(a);    i++;   }  }  return str_new.toString(); } 

3、去掉字符串右边的空格 
试用环境:如让用户编辑个性签名,在后台处理再存入数据库,此时要保留最前面的空格(方便前台可输入字符数的提示,以及重设时的回显)。 
String ss = " abc  ";  System.out.println("字符串中除去空格后的长度--"+ss.trim().length());  System.out.println("字符串中第一个非空格的位置--"+ss.lastIndexOf(ss.trim()));  System.out.println(ss.substring(0, ss.lastIndexOf(ss.trim())+ss.trim().length())+"--"); 

打印结果 
字符串中除去空格后的长度--3 字符串中第一个非空格的位置--1  abc-- 

4、去掉字符串右边的空格 
String ss = "  abc   ";  String s = ss.substring(ss.lastIndexOf(ss.trim()));  System.out.println(s + "--"); 

打印结果 
abc   -- 

5、关于多个空格的字符串,如“    ”,只考虑去掉右空格的情况,左、前后及中间的空格请自行考虑 
试用环境:不仅是trim()这么简单的处理。 
将3里的"  abc   "换成"     "。 
String ss = "   ";  System.out.println("字符串的总长度"+ss.length());  System.out.println("字符串中除去空格后的长度--"+ss.trim().length());  System.out.println("字符串中第一个非空格的位置--"+ss.lastIndexOf(ss.trim()));  System.out.println(ss.substring(0, ss.lastIndexOf(ss.trim())+ss.trim().length())+"--"); 

打印结果 
字符串的总长度3 字符串中除去空格后的长度--0 字符串中第一个非空格的位置--3    -- 
0 0
原创粉丝点击