I when i use reader.readLine(), the string length is always 80 chars and after the main string unicode spaces are padded up. Is there a way to remove those unwanted characters. (java.io.RandomAccessFile reader) String.trim is not working on this
-
1The question is a bit too narrow. For example, I searched stackoverflow for "[java] internationalization trim" and "[java] unicode trim" and did *not* find this question. You really want a trim() function that is I18N/Unicode aware; if the question was phrased that way, more people would be able to find the answer below. – djb Oct 09 '15 at 13:49
5 Answers
You can use StringUtils.strip from Commons Lang. It is Unicode-aware.

- 257,207
- 101
- 511
- 656
-
well it uses Character.isWhitespace which doesn't work well. It should use newer Character.isSpaceChar to be fully unicode-aware – Michal Bernhard Aug 12 '16 at 11:12
You can write a custom method in Java to remove the Unicode space characters , using Character.isWhitespace(char) and Character.isSpaceChar(char) methods, for your specific purpose.
The Spring framework has a StringUtils class with a trimWhitespace(String) method which appears to be based on Character.isWhitespace(char)
from the source code here.

- 48,828
- 16
- 130
- 164
use Google Guava
CharMatcher.WHITESPACE.trimFrom(source);
or try this https://gist.github.com/michalbcz/4861a2b8ed73bb73764e909b87664cb2

- 3,853
- 4
- 27
- 38
If you do not want a big libs. Just use:
str.replaceAll("^[\\s\\p{Z}]+|[\\s\\p{Z}]+$", "");
Testing
public static String trim(String str) {
return str.replaceAll("^[\\s\\p{Z}]+|[\\s\\p{Z}]+$", "");
}
public static void main(String[] args) {
System.out.println(trim("\t tes ting \u00a0").length());
System.out.println(trim("\t testing \u00a0").length());
System.out.println(trim("tes ting \u00a0").length());
System.out.println(trim("\t tes ting").length());
}

- 569
- 7
- 22
would have been faster to just search stackoverflow for this question becoz there are multiple questions on that topic there. well, try this:
st.replaceAll("\\s","")
check this one here: link