テキストエディタによる文字の置換について詳しい方にお聞きします。

すべて半角文字で構成された英単語のみのテキストデータがあります。
1万2000行ほどあります。

このテキストデータには
半角スペースが含まれている行と
半角スペースが含まれていない行の2種類があります。

半角スペースが含まれていない行をすべて削除して、
半角スペースが含まれている行のみ残して
置換するにはどうすればいいでしょうか。

1、具体的に必要なテキストエディタ(フリーソフト)

2、どのように指定すれば、
半角スペースが含まれていない行をすべて削除できるのか。

この2点について
具体的に教えてもらえれば幸いです。

よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2010/01/24 16:02:40
  • 終了:2010/01/31 16:05:03

回答(8件)

id:sasaki30234 No.1

sasaki30234回答回数18ベストアンサー獲得回数02010/01/24 16:08:44

ポイント17pt

Eacms (Meadow)というソフトではマクロのような処理を実行できるので対応可能でしょう。

ただし、そこまでするのであれば、

wndowsの cscript で10行ぐらいの簡単なプログラムを作って、

エディタ以外で処理してしまうのが現実的なように感じます。

http://www.google.co.jp/search?hl=ja&source=hp&q=emacs+windows&l...

id:Jane_Style No.2

Jane_Style回答回数34ベストアンサー獲得回数102010/01/24 16:16:35

ポイント17pt

あまりスマートではありませんが実現可能の方法としてひとつ

1.エクセルにテキストエディタからA列にすべて貼り付ける

2.B列に「=SEARCH(" ",A2,1)」としてすべての行にフィルハンドルを伸ばし、半角のある位置を返す

(半角がなければ#value!となります)

3.1行目をフィルタとしてあけてオートフィルタをかけ、VALUEの値だけを表示する

4.選択した行を削除する

5.A列をテキストに戻す


フリーのみでやるのであればオープンオフィスでも代用可能と思います

http://ja.openoffice.org/

id:TRTr No.3

TRTr回答回数52ベストアンサー獲得回数132010/01/24 17:13:55

ポイント16pt

sakuraDownをつかってsakuraエディタで正規表現を使える構成でダウンロードします。

全てをチェックすればよいでしょう。

http://sakura.qp.land.to/?Install%2FSakuraDown


テキストをsakuraエディタで開き検索->置換を行います。


検索文字列を

^[^ ]*[\r\n]+

(半角空白のない行)として

置換文字列は何も入力せずに

正規表現をチェックして

全てを置換すると半角空白の無い行が削除できます。


事前に置換する同じ文字列で正規表現で検索すると、削除される行が強調表示されて確認できます。

記述の細かい方法等は

http://sakura-editor.sourceforge.net/htmlhelp/HLP000089.html

を参考にしてみてください。

id:mamy1326 No.4

mamy1326回答回数16ベストアンサー獲得回数12010/01/24 18:11:24

ポイント16pt

http://pc.dearie.jp/hidemaru/replace/8.html

秀丸だとフリーでは無いですが、試用のみで利用するという前提であれば上記で可能かと思います。

が、テキストエディタなどのソフトではかなり面倒なのと、手間がかかってしまうので、僕が

ずいぶん前に同じようなことをしたPHPのスクリプトがあるので使ってみてください。

※ご質問用にカスタマイズしてあります。

http://mocotan.jp/text_replace.php

上記に変換したいテキストデータファイルを指定し、実行すると、「半角空白を含まない行が削除されたテキストファイル」がダウンロードできる仕組みです。

12000行だと結構時間がかかるかとは思いますが・・・。

どんなレンタルサーバでも動くように書いたはず(汗)なので、もし動作させられるサーバをお持ちであれば、ソースは以下からダウンロードしてご自由にお使いください。

http://mocotan.jp/text_replace.lzh

テキスト変換は件数が多かったり、条件が複雑や特殊な場合は難しいですよね。

そんなときは、僕はプログラムでツールを作っちゃいます。

「テキストエディタでの置換」なので、本題とは違うかもしれませんが、参考になれば幸いです。

id:mezala No.5

mezala回答回数104ベストアンサー獲得回数182010/01/24 18:42:31

ポイント16pt

テキストエディタで,ということなので趣旨から外れるかもしれませんが…

grepで実現できます。

grepは条件にマッチする行を標準出力に出力するプログラムです。

たとえば次のリンク先などから入手します。

http://www.vector.co.jp/soft/win95/util/se015011.html

コマンドラインで,

C:\>Grep " " source.txt > output.txt

…のように実行するだけです。

(grepの名称や実行時のオプションはそれぞれで異なる場合もあります)

id:akimicyu No.6

akimicyu回答回数1ベストアンサー獲得回数02010/01/24 18:41:18

ポイント16pt

プログラムに詳しくない方かと思われますので、

テキストエディタの置換機能のご使用をお勧めします。

この手の文字列処理は、プログラムをわざわざ書かなくとも

テキストエディタの正規表現機能を用いれば、一通りのことができます。


> 1、具体的に必要なテキストエディタ(フリーソフト)

今回は、サクラエディタを紹介します。

http://members.at.infoseek.co.jp/sakura_editor/index.html


> 2、どのように指定すれば、半角スペースが含まれていない行をすべて削除できるのか。

以下、手順です。


1.対象のテキストデータを、サクラエディタで開く。

2.置換画面を表示(Ctrl+R)。置換画面内で「正規表現」をチェック。

3.置換前に「^[\w]+\r\n」と入力、置換後に何も入力しないで「すべて置換」ボタンを押すと

  半角スペースが含まれていない行が全て削除されます。

4.空行も取り除きたい場合は、同様の操作を、置換前を「^\r\n」として行ってください。

id:kmon No.7

kmon回答回数27ベストアンサー獲得回数52010/01/24 18:35:30

ポイント16pt

> 1、具体的に必要なテキストエディタ(フリーソフト)


EmEditor Free(Windows 2000/XP/Vista)

窓の杜 - EmEditor


> 2、どのように指定すれば、半角スペースが含まれていない行をすべて削除できるのか。

EmEditor Freeでファイルを読み込んだ状態で、以下を実行。

1) [検索]メニュー -> [置換]を選択する。

2) 「正規表現を使用する」オプションにチェックを入れ、「検索する文字列」に「^[^ ]*(\n|$)」を指定し、「置換後の文字列」は空けておく(何も指定しない)。この状態で、「すべて置換」を実行する。

id:jccrh1 No.8

jccrh1回答回数111ベストアンサー獲得回数192010/01/24 18:36:24

ポイント16pt

私は「秀丸エディタ」を使用しています。

フリーソフト(使用料を支払うことができますが、無償でも問題はありません)で、正規表現も使えるので便利だと思います。

インストール後の文字の置換は以下の手順でできます。

【処理手順】
1.英単語のテキストデータを読み込みます。
2.置換で「半角スペースが含まれていない行」を削除します。
 ・「検索」^.*[ ]+.*\n
 ・「置換」          …空白です
 ・正規表現のチェックボックスにチェックを入れます。
 ・全置換ボタンを押下   

秀丸エディタ:http://hide.maruo.co.jp/software/hidemaru.html

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません