Java作為一門面向對象的編程語言,在數據輸入處理中,常常需要對字符串進行空格和換行符的處理。下面介紹幾種常見的處理方法:
public static String trim(String str) { if (str == null || str.length() == 0) { return str; } int len = str.length(); int start = 0; while (start< len && Character.isWhitespace(str.charAt(start))) { start++; } int end = len; while (end >start && Character.isWhitespace(str.charAt(end - 1))) { end--; } return str.substring(start, end); }
上述代碼實現了去掉字符串兩端空格的功能,其中使用了Character類的isWhitespace()方法來判斷字符是否為空白字符。在while循環中,start和end變量分別指向字符串的開頭和結尾,若兩個變量之間出現了非空白字符,則返回從start到end的子串即可。
public static String removeAllWhitespace(String str) { if (str == null || str.length() == 0) { return str; } StringBuilder builder = new StringBuilder(str); int index = 0; while (index< builder.length()) { char c = builder.charAt(index); if (Character.isWhitespace(c)) { builder.deleteCharAt(index); } else { index++; } } return builder.toString(); }
上述代碼實現了去掉字符串中所有空白字符的功能,其中使用了StringBuilder來構造新的非空白字符串。在while循環中,index變量指向字符串中的每一個字符,若該字符是空白字符,則在builder中刪除該字符,否則index加1不變。
public static String removeNewLine(String str) { if (str == null) { return null; } String result = str.replaceAll("\\r|\\n", ""); return result; }
上述代碼實現了去掉字符串中所有換行符的功能,其中使用了String類的replaceAll()方法來替換掉所有的"\r"和"\n"字符。需要注意的是,在正則表達式中,豎線(|)表示或者的意思。