如何在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
相关产品推荐
相关产品推荐

