【问题标题】:How do I replace line breaks with spaces in Processing?如何在处理中用空格替换换行符?
【发布时间】:2013-08-09 20:46:56
【问题描述】:

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

【问题讨论】:

    标签: text replace processing space line-breaks


    【解决方案1】:

    有几件事...由于您导入了一个 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] + " ";
    }
    

    这是最简单且不易混淆的方法,除非您有大量字符串并且您追求性能 (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," ");
    

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

    【讨论】:

      猜你喜欢
      • 2012-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多