相关疑难解决方法(0)

从String中删除"空"字符

我正在使用一个框架,它会不时地返回带有"空"字符的格式错误的字符串.

例如,"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.

有任何想法吗?

java character

12
推荐指数
3
解决办法
3万
查看次数

标签 统计

character ×1

java ×1