我正在使用一个框架,它会不时地返回带有"空"字符的格式错误的字符串.
例如,"foobar"表示为:[,f,o,o,b,a,r]
第一个字符不是空格(''),因此System.out.printlin()将返回"foobar"而不是"foobar".然而,String的长度是7而不是6.显然这使得大多数String方法(equals,split,substring,..)无用.有没有办法从字符串中删除空字符?
我试着像这样构建一个新的String:
StringBuilder sb = new StringBuilder();
for (final char character : malformedString.toCharArray()) {
if (Character.isDefined(character)) {
sb.append(character);
}
}
sb.toString();
Run Code Online (Sandbox Code Playgroud)
不幸的是,这不起作用.与以下代码相同:
StringBuilder sb = new StringBuilder();
for (final Character character : malformedString.toCharArray()) {
if (character != null) {
sb.append(character);
}
}
sb.toString();
Run Code Online (Sandbox Code Playgroud)
我也无法检查这样的空字符:
if (character == ''){
//
}
Run Code Online (Sandbox Code Playgroud)
显然字符串有问题..但我无法更改我正在使用的框架或等待它们修复它(如果它是框架中的错误).我需要处理这个String并对其进行sanatize.
有任何想法吗?