Thủ thuật Java
public String removeSpaces(String s)
{
StringTokenizer st = new StringTokenizer(s," ",false);
String t = "";
while (st.hasMoreElements())
t += st.nextElement();
return t;
}Sau đây là cách giải quyết hoàn chỉnh để bỏ đi các khoảng trắng đầu và cuối trong một String bằng cách sử dụng biểu thức chính quy (sẽ nhanh hơn đoạn mã trên).
[JDK 1.4]
import java.util.regex.*;
public class BlankRemover
{
/* Bỏ đi khoảng trắng đầu */
public static String ltrim(String source)
{
return source.replaceAll("^\\s+", "");
}
/* Bỏ đi khoảng trắng sau */
public static String rtrim(String source)
{
return source.replaceAll("\\s+$", "");
}
/* Thay thế nhiều khoảng trắng liên tiếp nhau giữa các từ bằng
* một khoảng trắng
*/
public static String itrim(String source)
{
return source.replaceAll("\\b\\s{2,}\\b", " ");
}
/* Bỏ đi tất cả các khoảng trắng không cần thiết trong chuỗi
* nguồn
*/
public static String trim(String source)
{
return itrim(ltrim(rtrim(source)));
}
public static String lrtrim(String source)
{
return ltrim(rtrim(source));
}
public static void main(String[] args)
{
String oldStr = "> <1-2-1-2-1-2-1-2-1-2-1-----2-1-2-1-" +
"2-1-2-1-2-1-2-1-2><";
String newStr = oldStr.replaceAll("-", " ");
System.out.println(newStr);
System.out.println(ltrim(newStr));
System.out.println(rtrim(newStr));
System.out.println(itrim(newStr));
System.out.println(lrtrim(newStr));
}
}