当前位置: 代码迷 >> Java Web开发 >> java 去空格,高手~
  详细解决方案

java 去空格,高手~

热度:763   发布时间:2016-04-17 13:02:00.0
java 去空格,高手请指教~!!
字符串为:
String   value   =   "计算机及应用   铁道信号   通信工程           铁道供电 ";
输出:   计算机及应用;铁道信号;通信工程;铁道供电;

注:铁道供电前有多个空格

------解决方案--------------------
if you use JDK1.5,you can use String#sprit function;
or you can use java.util.StringToken when you are using JDK1.4 or lower...
--------------------------
String value = "计算机及应用 铁道信号 通信工程 铁道供电 ";
String[] rst=value.split( " ");//\x0020
for(int i=0;i <rst.length;i++){
if(! " ".equals(rst[i])){
System.out.print( rst[i]+ "; ");
}
}
------解决方案--------------------
value = value.replaceAll( " + ", "; ");

注:+ 前面有一个空格。
------解决方案--------------------
如果最后一个也要分号的话改为:

value = value.replaceAll( " + ", "; ") + "; ";

就可以了。
------解决方案--------------------
String aaa= "计算机及应用 铁道信号 通信工程 铁道供电 ";
String bbb= " ";
for(int i=0;i <aaa.length();i++){
String aaa1= (String.valueOf(aaa.charAt(i)));
if(!aaa1.trim().equals( " "))
{
bbb=bbb.concat(aaa1);
}else
{
String cc = (String.valueOf(aaa.charAt(i-1)));
if(!cc.trim().equals( " ")){
bbb=bbb.concat( "; ");
}
}
}
System.out.print(bbb);
个人的愚见。呵呵。
------解决方案--------------------
char[] c;
c = value.toCharArray();
String mess = " ";
for (int i = 0; i < value.length(); i++) {
if (!String.valueOf(c[i]).equals( " ")) {
System.out.println( "== " + c[i]);
mess += c[i];
}
}
System.out.println( "========== " + mess);
  相关解决方案