0

我将一个 TXT 文件导入到处理中。我想用空格替换导入的文本文件中的换行符。这可以使用处理吗?

4

1 回答 1

2

有几件事...由于您导入了一个 txt 文件,我猜想使用 loadStrings() 方法,我假设您留下了一个字符串数组。您现在可能意味着两件事,要么将数组加入一个字符串,要么实际查找并替换换行符(或组合)。让我们看看这两种可能性。

首先,我将假设一个类似于 loadStrings() 的字符串数组为您提供:

String [] importedText = {"aaaa bbb","cccc dddd","eeee ffff gggg"};

如果您想将此数组连接到一个字符串,您可以遍历您的数组并将元素添加到另一个字符串,如下所示:

String singleLineText = "";

for(int i = 0;i < importedText.length; i++) {
   singleLineText += importedText[i] + " ";
}

这是最简单且不易混淆的方法,除非您有大量字符串并且您追求性能(这些天有争议的问题),您可以像这样使用 StringBuilder:

StringBuilder strb = new StringBuilder();
for(int i = 0;i < importedText.length; i++) {
   strb.append(importedText[i]);
   strb.append(" ");
}
String singleLineText = strb.toString();

另一方面,如果您确实是在删除换行符之后,那么我为无用的序言道歉,方法如下:有两种类型的换行符(两个字符),您必须考虑:换行(\n ) 和回车 (\r)。您需要考虑这两者,因为不同的操作系统使用不同的中断。所以现在让我们假设一个这样的字符串:

String lineWithBreaks = "aaaa\nbbbbb\rcccc\n\rddddd";

以及我们的两次休息:

String linefeed = "\n";
String carriagereturn = "\r";

删除中断的方法是这样的:

lineWithBreaks = lineWithBreaks.replace(linefeed," ");
lineWithBreaks = lineWithBreaks.replace(carriagereturn," ");

本质上,您将两个集合字符串替换为空格字符“”!

于 2013-08-09T22:17:03.883 回答