読み込んだ.txtファイルに空白行があってそれを削除したい。そういう場合はいろんな方法はあると思いますけど、一番楽な方法はなんでしょうか?空白を消して残りの行をつめるとなるとかなり厄介だと思うのですが、メソッドを使えば楽になるのではないかと思います。何かいい方法ありますか?言語はJAVAかC#です
。
空白行削除のためのアルゴリズムについて
Re: 空白行削除のためのアルゴリズムについて
一番楽な方法は、プログラムを書かずに既に存在するプログラムを使うことです。notebook さんが書きました:読み込んだ.txtファイルに空白行があってそれを削除したい。そういう場合はいろんな方法はあると思いますけど、一番楽な方法はなんでしょうか?
Linux なら、awk NF in.txt >out.txt
Winsows なら、cygwin を入れて、gawk NF in.txt >out.txt
Re: 空白行削除のためのアルゴリズムについて
プログラムで処理しない方がもしかしたらいちばん楽かもしれませんが、
それはどうしてもまずい、ということですか?どうしてもアルゴリズムを極めたい、と。
秀丸エディターあたりの置換機能を使えば一発でできそうな気がします。
それはどうしてもまずい、ということですか?どうしてもアルゴリズムを極めたい、と。
秀丸エディターあたりの置換機能を使えば一発でできそうな気がします。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 空白行削除のためのアルゴリズムについて
C#で一番楽なのは全行一括読み取り後Linqでフィルタリングして一括書き出し。
全部を一度にやってくれるメソッドは当然ながら存在しないが,既存のものの組み合わせで十分書けます。
上記でわからないなら,https://msdn.microsoft.com/ja-jp/librar ... .110).aspxなんかをざっと眺めて関係しそうなものをきっちり学べばよいかと。
全部を一度にやってくれるメソッドは当然ながら存在しないが,既存のものの組み合わせで十分書けます。
上記でわからないなら,https://msdn.microsoft.com/ja-jp/librar ... .110).aspxなんかをざっと眺めて関係しそうなものをきっちり学べばよいかと。
Re: 空白行削除のためのアルゴリズムについて
Java でもいいんですね?notebook さんが書きました:言語はJAVAかC#です。
import java.io.*;
public class Main {
public static void main(String[] args) throws java.io.IOException {
BufferedReader br = new BufferedReader(new FileReader("in.txt"));
String line;
while ((line = br.readLine()) != null)
if (line.length() != 0 && line.split("[ \t]+").length != 0)
System.out.println(line);
}
}
わからなければ、どこがわからないのかを質問してください。
Re: 空白行削除のためのアルゴリズムについて
C# のサンプルコードです。notebook さんが書きました:C#のメソッドでありますか?他ツールは使いたくないです。
using System;
using System.IO;
using System.Text;
class Program
{
static void Main() {
try {
using (StreamReader sr = new StreamReader("in.txt", Encoding.Default)) {
using (StreamWriter sw = new StreamWriter("out.txt", false, Encoding.Default)) {
string line;
while ((line = sr.ReadLine()) != null) {
if (string.IsNullOrWhiteSpace(line) == false) {
sw.WriteLine(line);
}
}
}
}
} catch (Exception e) {
Console.WriteLine(e.Message);
}
}
}