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

如何在Java中使用StringTokenizer拆分按换行分隔的字符串?

使用StringTokenizer拆分换行分隔的字符串

嘿,我来帮你搞定这个问题!要想用StringTokenizer把按换行符分隔的字符串拆成单独的每一行,核心是指定正确的分隔符——毕竟StringTokenizer默认是按空格、制表符这类空白字符拆分的,可不是换行符哦。

具体实现思路

首先得明确不同操作系统的换行符差异:

  • Unix/Linux/macOS用的是\n
  • Windows用的是\r\n

为了让代码兼容两种换行格式,我们可以把\n和\r都作为分隔符传给StringTokenizer,这样不管遇到哪种换行,都能正确拆分出每一行。

示例代码

我把你给的示例改成带换行的更贴合场景:

public class LineSplitDemo {
    public static void main(String[] args) {
        // 模拟包含不同换行格式的字符串
        String temp = "I am a college kid\nLearning Java is fun\r\nLet's split this string";
        
        // 把\n和\r都设为分隔符,兼容各种换行格式
        StringTokenizer tokenizer = new StringTokenizer(temp, "\n\r");
        
        // 遍历获取每一行
        while (tokenizer.hasMoreTokens()) {
            String line = tokenizer.nextToken();
            // 这里可以替换成你需要的业务逻辑,比如打印或存储
            System.out.println("当前行内容:" + line);
        }
    }
}

小提醒

  • StringTokenizer会自动忽略连续的分隔符,比如如果有两个换行符连在一起,它不会返回空字符串。如果你需要保留空行的话,StringTokenizer可能不是最佳选择,这时候可以考虑用String.split("\\r?\\n")来实现。
  • 如果你确定字符串只有一种换行格式(比如都是\n),直接把分隔符设为"\n"就可以了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:41:19