【发布时间】:2014-02-10 05:30:28
【问题描述】:
[摘要:我需要一种从大量字符串中删除换行符 (\n) 的方法,希望没有正则表达式]
对于我的 CS 课,我们必须从一个文本文件中读取迷宫,它看起来像这样:
##############################
#@...........................#
##############################
##############################
##############################
##############################
##############################
##############################
##############################
##############################
------------------------------
##############################
##############################
#@...........................#
##############################
##############################
##############################
##############################
##############################
##############################
##############################
------------------------------
##############################
##############################
##############################
#@...........................#
##############################
##############################
##############################
##############################
##############################
##############################
------------------------------
虚线表示不同的楼层。这是一个 3D 迷宫。
这只是一个阅读迷宫的测试,所以碎片无关紧要。我们必须使用 Scanner 类将整个迷宫读入单个字符串,但随后我们必须能够测试每个个体 (x,y,z) 并返回该点存在的字符。我的想法是将巨大的字符串分成一个 3 维字符数组(char[][][]),但这需要从巨大的迷宫字符串中删除换行符。有没有办法可以从大量字符串中删除 \n 标记,希望不使用正则表达式。我环顾四周,但找不到一个可靠的答案。很多人建议使用正则表达式,但我不太熟悉这样做,并希望尽可能避免使用它。感谢你的帮助。
【问题讨论】:
-
如果您使用的是
Scanner,您可以迭代地使用Scanner#nextLine来消耗每一行并在读取每一行时删除换行符。 -
如果你想把一个字符串分成几行,查看
String类的javadoc中一个名为split的方法。