RosettaCodeData/Task/Strip-control-codes-and-extended-characters-from-a-string/Java/strip-control-codes-and-extended-characters-from-a-string.java
2015-02-20 00:35:01 -05:00

15 lines
568 B
Java

import java.util.function.IntPredicate;
public class StripControlCodes {
public static void main(String[] args) {
String s = "\u0000\n abc\u00E9def\u007F";
System.out.println(stripChars(s, c -> c > '\u001F' && c != '\u007F'));
System.out.println(stripChars(s, c -> c > '\u001F' && c < '\u007F'));
}
static String stripChars(String s, IntPredicate include) {
return s.codePoints().filter(include::test).collect(StringBuilder::new,
StringBuilder::appendCodePoint, StringBuilder::append).toString();
}
}