如何在Processing中用空格替换换行符?

时间:2013-08-09 20:46:57

标签: text replace processing space line-breaks

我将TXT文件导入Processing。我想用空格替换导入的文本文件中的换行符。这是否可以使用Processing?

1 个答案:

答案 0 :(得分:2)

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

首先,我假设一个类似的String数组,因为loadStrings()给你:

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

如果要将此数组连接到一个String,则迭代数组并将元素添加到另一个String中,如下所示:

String singleLineText = "";

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

这是最简单且不那么容易混淆的方法,除非你有大量的字符串并且你在性能之后(a debatable matter these days)你可以像这样使用StringBuilder:

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

另一方面,如果您真的在删除换行符后,我为无用的序幕道歉,这就是方法:  有two types of line breaks(两个字符),您必须考虑:换行(\ n)和回车(\ r)。您需要考虑两者,因为不同的操作系统使用不同的中断。所以现在让我们假设一个像这样的字符串:

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

以及我们的两个休息时间:

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

删除休息的方法是:

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

基本上你用空格字符“”来替换两个字符串!