在我的代码确认我已将它们全部删除后,为什么我的输出仍然显示新行?
How come my output still displays new lines after my code confirms that I removed them all?
我正在尝试从我的文本中删除所有新行或 returns,但是我在执行此操作时遇到了很多麻烦。即使在我确认新行已被删除后,它们仍然在输出中可见。我做错了什么?
这是我要解析的 html 文本:
**longDescription":"CUT FROM CANADA AA OR USDA SELECT GRADES OR HIGHER
13.21/kg"*
String flyerHTML = sbFlyer.toString();
System.out.println(flyerHTML.contains("\n"));
flyerHTML = flyerHTML.replaceAll("\r\n|\r|\n", " ");
System.out.println(flyerHTML.contains("\n"));
System.out.println();
while (flyerHTML.contains("\"longDescription\":")) {
String longDescription = "";
// LONG DESCRIPTION
flyerHTML = flyerHTML.substring(flyerHTML.indexOf("\"longDescription\":") + 18);
if (flyerHTML.startsWith("null")) longDescription = "null";
else longDescription = StringEscapeUtils.unescapeHtml4(flyerHTML.substring(1, flyerHTML.indexOf(",") - 1));
System.out.println("LONG DESCRIPTION = " + longDescription);
System.out.println("");
}
为什么不在循环中添加替换?
while (flyerHTML.contains("\"longDescription\":")) {
String longDescription = "";
// LONG DESCRIPTION
flyerHTML = flyerHTML.substring(flyerHTML.indexOf("\"longDescription\":") + 18);
if (flyerHTML.startsWith("null")) longDescription = "null";
else longDescription = StringEscapeUtils.unescapeHtml4(flyerHTML.substring(1, flyerHTML.indexOf(",") - 1));
longDescription = longDescription.replaceAll("\r\n|\r|\n", " ");
System.out.println("LONG DESCRIPTION = " + longDescription);
System.out.println("");
}
您的文本可能包含其他行终止符。根据 Pattern documentation
行终止符是一个或两个字符的序列,用于标记输入字符序列的一行结束。以下内容被识别为行终止符:
- 换行(换行)字符('\n'),
- 一个回车-return 字符后紧跟一个换行符 ("\r\n"),
- 一个独立的回车-return字符('\r'),
- 下一行字符('\u0085'),
- 行分隔符 ('\u2028'),
- 或段落分隔符 ('\u2029).
我正在尝试从我的文本中删除所有新行或 returns,但是我在执行此操作时遇到了很多麻烦。即使在我确认新行已被删除后,它们仍然在输出中可见。我做错了什么?
这是我要解析的 html 文本: **longDescription":"CUT FROM CANADA AA OR USDA SELECT GRADES OR HIGHER 13.21/kg"*
String flyerHTML = sbFlyer.toString();
System.out.println(flyerHTML.contains("\n"));
flyerHTML = flyerHTML.replaceAll("\r\n|\r|\n", " ");
System.out.println(flyerHTML.contains("\n"));
System.out.println();
while (flyerHTML.contains("\"longDescription\":")) {
String longDescription = "";
// LONG DESCRIPTION
flyerHTML = flyerHTML.substring(flyerHTML.indexOf("\"longDescription\":") + 18);
if (flyerHTML.startsWith("null")) longDescription = "null";
else longDescription = StringEscapeUtils.unescapeHtml4(flyerHTML.substring(1, flyerHTML.indexOf(",") - 1));
System.out.println("LONG DESCRIPTION = " + longDescription);
System.out.println("");
}
为什么不在循环中添加替换?
while (flyerHTML.contains("\"longDescription\":")) {
String longDescription = "";
// LONG DESCRIPTION
flyerHTML = flyerHTML.substring(flyerHTML.indexOf("\"longDescription\":") + 18);
if (flyerHTML.startsWith("null")) longDescription = "null";
else longDescription = StringEscapeUtils.unescapeHtml4(flyerHTML.substring(1, flyerHTML.indexOf(",") - 1));
longDescription = longDescription.replaceAll("\r\n|\r|\n", " ");
System.out.println("LONG DESCRIPTION = " + longDescription);
System.out.println("");
}
您的文本可能包含其他行终止符。根据 Pattern documentation 行终止符是一个或两个字符的序列,用于标记输入字符序列的一行结束。以下内容被识别为行终止符:
- 换行(换行)字符('\n'),
- 一个回车-return 字符后紧跟一个换行符 ("\r\n"),
- 一个独立的回车-return字符('\r'),
- 下一行字符('\u0085'),
- 行分隔符 ('\u2028'),
- 或段落分隔符 ('\u2029).