1

我从 Webservice 获取字符串值并尝试使用 Android 在 Edittext 中显示字符串值。我设法显示该值,但我得到双引号,例如:“12.12”。下面是我完成的代码。任何人都可以指导我的错误在哪里。提前致谢。

//Get the response
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
InputStream stream=httpEntity.getContent();
//Convert the stream to readable format
result= convertStreamToString(stream);
    cText.setText(result);

public String convertStreamToString(InputStream is) 
 {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } 
    catch (IOException e) {
        e.printStackTrace();
    } 
    finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}
4

3 回答 3

1

我认为这是因为您使用双引号从 Web 服务获取输出。如果您面临的唯一问题是result字符串包含双引号,那么您可以使用以下代码简单地删除双引号:

    String result = convertStreamToString(stream);
    result = result.replace("\"","\\\"");
    System.out.println(result);    //Result string without double quotes

希望这有帮助..谢谢..

于 2012-10-16T06:52:39.793 回答
0

也许您正在从您的网络服务发送报价。要摆脱引号,您可以通过 \" 对其进行转义。您的 InputStreamReader 的内容将始终是您从 web 服务中读取的内容。这不会在您的字符串中添加任何 ""。所以一定是 web 服务问题。

于 2012-10-16T06:50:38.060 回答
0

在 kotlin 中,您可以使用扩展功能

fun String.removeQuotationMarks(): String {
    if (startsWith("\"") && endsWith("\"")) {
        return drop(1).dropLast(1)
    }
    return this
}
于 2021-09-06T15:47:17.517 回答