我将一个 TXT 文件导入到处理中。我想用空格替换导入的文本文件中的换行符。这可以使用处理吗?
问问题
1214 次
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 回答