java是否从设置为textview的列表中删除方括号[]?
我正在使用jsoup使用以下代码解析内容
try{
Elements divElements = jsDoc.getElementsByTag("div");
for(Element divElement : divElements){
if(divElement.attr("class").equals("article-content")){
textList.add(divElement.text());
text = textList.toString();
}
}
}
catch(Exception e){
System.out.println("Couldnt get content");
}
唯一的问题是返回的内容周围有括号[],就像这样
我猜这是因为我设置的列表。我怎样才能去掉这些
# 1 楼答案
使用正则表达式替换前括号和后括号,字符串。replace()不适用于列表内容包含方括号的边缘情况
# 2 楼答案
替换:
与:
# 3 楼答案
是的,这是因为名单。您必须选择以下选项:
子类化TextList,并重写toString() 或
# 4 楼答案
您可以重写toString()方法
树立榜样:
使用:
新的SetPrinter(SetToPrint)。toString()
# 5 楼答案
对于大多数对象,
toString()
方法不用于显示,但通常用于调试。这是因为toString()
方法通常没有特定的格式,并且可能根据所使用的特定类而有所不同。例如,LinkedList和ArrayList可以从toString()
返回不同的值。这不太可能,但这是你应该避免依赖的东西。当然,如果对象表示实际文本(String
,StringBuilder
,CharSequence
),则上述内容不适用此外,您还在for循环中多次创建和分配字符串。相反,您应该只在for循环完成后创建字符串
要创建字符串,您可以滚动自己的字符串,或者使用像Apache commons lang这样的库,它有一个
StringUtils.join()
实用程序方法如果您自己滚动,它可能看起来像这样:
# 6 楼答案
使用迭代和}括号或{}这样的输出不是一个好的做法
StringBuffer
实现您自己的方法来创建所需的String
。使用{