代码之家  ›  专栏  ›  技术社区  ›  Tseng

奇怪的弦分裂行为

  •  3
  • Tseng  · 技术社区  · 14 年前

    我正在从服务器请求数据,并收到一个字符串,格式为 2|bit.ly|1||1| | 应该是分离器。

    我认为下面这段代码应该完成这项工作

    BufferedReader br = null;
    ...
    br = new BufferedReader(new InputStreamReader(inputStream));
    ...
    
    String line;
    String[] columns;
    ContentValues values;
    
    while((line = br.readLine())!=null) {
        columns = line.split("|");
        ...
    }
    

    line.split("|"); 列包含15个元素,而不是预期的6个。仔细看一下它的内容,就会发现字符串中的每个字符都存储在一个数组元素中。

    1 回复  |  直到 14 年前
        1
  •  6
  •   Cameron Skinner    14 年前

    String.split使用正则表达式作为拆分字符串,“|”字符表示或在regex land中。你需要摆脱那个角色,例如。 line.split("\\|");