You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多行String文本分割为对应行的String数组?

Java多行字符串转指定格式String数组

直接上两种实用的实现方式:

方法一:用String.split()快速分割

利用正则匹配跨平台的换行符(\n或\r\n),一行核心代码就能搞定,适合处理小文本:

import java.util.Arrays;

public class StringSplitDemo {
    public static void main(String[] args) {
        String text = "test_123\ncheck_1  123  \ntest_1\nASD@#$\nqwer #$%\n^test   1\nthis is book";
        // 按换行符分割,若不需要去除每行末尾空格,删掉.map这一行即可
        String[] resultArray = Arrays.stream(text.split("\\r?\\n"))
                .map(String::trim)
                .toArray(String[]::new);
        // 输出成目标格式(去掉数组字符串里的空格)
        System.out.println(Arrays.toString(resultArray).replace(" ", ""));
    }
}

说明:\\r?\\n能兼容Windows(\r\n)和Linux/Mac(\n)的换行格式;如果原文本每行末尾的空格需要保留,直接移除.map(String::trim)这一步就行。

方法二:用BufferedReader逐行读取

如果是处理超大的多行字符串,这种方式内存占用更低,运行更稳妥:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class BufferedReaderDemo {
    public static void main(String[] args) {
        String text = "test_123\ncheck_1  123  \ntest_1\nASD@#$\nqwer #$%\n^test   1\nthis is book";
        List<String> lineList = new ArrayList<>();
        try (BufferedReader reader = new BufferedReader(new StringReader(text))) {
            String line;
            // 逐行读取直到文本结束
            while ((line = reader.readLine()) != null) {
                // 要保留空格就直接add(line)
                lineList.add(line.trim());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        String[] resultArray = lineList.toArray(new String[0]);
        System.out.println(Arrays.toString(resultArray).replace(" ", ""));
    }
}

两种方法运行后都会输出你要的格式:{"test_123","check_1 123","test_1","ASD@#$","qwer #$%^","test 1","this is book"}

内容的提问来源于stack exchange,提问作者Sandeep Sudhakar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 09:33:21