推薦答案
在Java中,你可以使用多種方法來去除字符串中的空行。以下是幾種常見的操作方法:
1.使用replaceAll()方法:你可以使用replaceAll()方法和正則表達式來替換字符串中的空行。示例如下:
String str = "Hello\n\nWorld\n\n\n";
String trimmedStr = str.replaceAll("(?m)^\\s*$[\n\r]{0,}", "");
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,使用正則表達式"\s*$[\n\r]{0,}"匹配連續的空行,并將其替換為空字符串。
2.使用split()方法和join()方法的組合:你可以使用split()方法將字符串拆分成行數組,然后使用join()方法將非空行重新組合成字符串。示例如下:
String str = "Hello\n\nWorld\n\n\n";
String[] lines = str.split("\\r?\\n");
String trimmedStr = String.join("\n", Arrays.stream(lines)
.filter(line -> !line.trim().isEmpty())
.toArray(String[]::new));
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,首先使用split("\r?\n")將字符串拆分成行數組,然后使用filter()方法過濾掉空行,最后使用join()方法將非空行重新組合成字符串。
3.使用Scanner類:你可以使用Scanner類逐行讀取字符串,并過濾掉空行。示例如下:
String str = "Hello\n\nWorld\n\n\n";
Scanner scanner = new Scanner(str);
String trimmedStr = "";
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (!line.trim().isEmpty()) {
trimmedStr += line + "\n";
}
}
scanner.close();
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,使用Scanner類逐行讀取字符串,然后使用trim()方法和isEmpty()方法過濾掉空行,最后重新組合非空行。
通過使用這些方法,你可以輕松去除Java字符串中的空行,以滿足你的處理需求。
其他答案
-
在Java中,有幾種方法可以去除字符串中的空行。以下是其中的幾種操作方法:
1.使用replaceAll()方法:你可以使用replaceAll()方法和正則表達式來替換字符串中的空行。示例如下:
String str = "Hello\n\nWorld\n\n\n";
String trimmedStr = str.replaceAll("(?m)^[ \t]*\r?\n", "");
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,使用正則表達式"^[ \t]*\r?\n"匹配空行,并將其替換為空字符串。
2.使用split()方法和join()方法的組合:你可以使用split()方法將字符串按照換行符拆分成行數組,然后使用join()方法將非空行重新組合成字符串。示例如下:
String str = "Hello\n\nWorld\n\n\n";
String[] lines = str.split("\\r?\\n");
String trimmedStr = String.join("\n", Arrays.stream(lines)
.filter(line -> !line.trim().isEmpty())
.toArray(String[]::new));
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,首先使用split("\r?\n")將字符串按照換行符拆分成行數組,然后使用filter()方法過濾掉空行,最后使用join()方法將非空行重新組合成字符串。
3.使用BufferedReader類:你可以使用BufferedReader類逐行讀取字符串,并過濾掉空行。示例如下:
String str = "Hello\n\nWorld\n\n\n";
BufferedReader reader = new BufferedReader(new StringReader(str));
String line;
String trimmedStr = "";
try {
while ((line = reader.readLine()) != null) {
if (!line.trim().isEmpty()) {
trimmedStr += line + "\n";
}
}
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
} catch (IOException e) {
e.printStackTrace();
}
在上述示例中,使用BufferedReader類逐行讀取字符串,然后使用trim()方法和isEmpty()方法過濾掉空行,最后重新組合非空行。
通過使用這些方法,你可以方便地從Java字符串中去除空行,以滿足你的需求。
-
在Java中,你可以使用不同的方法來去除字符串中的空行。以下是幾種常見的操作方法:
7.使用replaceAll()方法:你可以使用replaceAll()方法和正則表達式來替換字符串中的空行。示例如下:
String str = "Hello\n\nWorld\n\n\n";
String trimmedStr = str.replaceAll("((\r?\n)|(\r\n?))\\s*", "");
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,使用正則表達式"((\r?\n)|(\r\n?))\s*"匹配空行,并將其替換為空字符串。
8.使用split()方法和join()方法的組合:你可以使用split()方法將字符串拆分成行數組,然后使用join()方法將非空行重新組合成字符串。示例如下:
String str = "Hello\n\nWorld\n\n\n";
String[] lines = str.split("\\r?\\n");
String trimmedStr = "";
for (String line : lines) {
if (!line.trim().isEmpty()) {
trimmedStr += line + "\n";
}
}
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,首先使用split("\r?\n")將字符串拆分成行數組,然后使用trim()方法和isEmpty()方法來過濾掉空行,最后重新組合非空行。
9.使用Scanner類:你可以使用Scanner類逐行讀取字符串,并過濾掉空行。示例如下:
String str = "Hello\n\nWorld\n\n\n";
Scanner scanner = new Scanner(str);
String trimmedStr = "";
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
if (!line.trim().isEmpty()) {
trimmedStr += line + "\n";
}
}
scanner.close();
System.out.println(trimmedStr); // 輸出: "Hello\nWorld"
在上述示例中,使用Scanner類逐行讀取字符串,然后使用trim()方法和isEmpty()方法過濾掉空行,最后重新組合非空行。
通過使用這些方法,你可以方便地從Java字符串中去除空行,以滿足你的需求。