×

Welcome to TagMyCode

Please login or create account to add a snippet.
2
0
 
0
Language: Java
Posted by: Gerrit Viljoen
Added: May 23, 2014 12:20 PM
Modified: Mar 17, 2015 11:43 AM
Views: 38
Removes leading/trailing white space- and control characters. Replaces repeating white space- and control characters with a single space character.
  1.     public static String sanitiseWS(CharSequence input) {
  2.         if (input == null) {
  3.             return null;
  4.         }
  5.  
  6.         StringBuilder build = new StringBuilder(input.length());
  7.         boolean block = false;
  8.         for (int a = 0; a < input.length(); a++) {
  9.             final char c = input.charAt(a);
  10.             if (block) {
  11.                 if ((Character.isWhitespace(c)) || (Character.isISOControl(c))) {
  12.                     //do nothing
  13.                 } else {
  14.                     if (build.length() > 0) {
  15.                         build.append(' ');
  16.                     }
  17.                     build.append(c);
  18.                     block = false;
  19.                 }
  20.             } else {
  21.                 if ((Character.isWhitespace(c)) || (Character.isISOControl(c))) {
  22.                     block = true;
  23.                 } else {
  24.                     build.append(c);
  25.                 }
  26.             }
  27.         }
  28.  
  29.         if (build.length() == 0) {
  30.             return null;
  31.         } else {
  32.             return build.toString();
  33.         }
  34.     }