• 締切済み

NUL文字と垂直タブの置換について

CSVファイルをサクラエディタで開いて下記のサイトを参考にしてNUL文字と垂直タブを検索したところヒットしました。 https://harvestasya.com/blog/151 VBScriptでファイルの取り込みをするプログラムを作成しています。 このCSV内に含まれるNUL文字と垂直タブを排除しようと正規表現を用いて作成していますが全然、うまくいきません。 申し訳ありませんが些細な事でも何でも構いませんのでアドバイスいただけませんでしょうか。 何卒、宜しくお願いします。

みんなの回答

  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.3

Nullは、キャラクターコードで「0」ですし、「垂直タブ」は「11」です。 従って、Replace(s, Chr(0), "A")とか、Replace(s, Chr(11), "A")とかやれば、置換できます。 csvファイルを、どのように読み込まれているのでしょうか? a = Split(s, ",") とかですか? 実際のプログラムが分からないので、回答もあいまいになってしまいます。 もし、出来れば、プログラムを見せてください。

wakaba1972
質問者

お礼

回答が遅くなって申し訳ありません。 プログラム内でコマンドでサクラエディタのgrepを実行して対応する事になりました。貴重なアドバイス、またご意見、本当にありがとうございました。 では、失礼します。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

正規表現を使う必要はありません。 VBScriptのreplace関数で空文字に置換すれば良いです。 NULとVTそれぞれに対して実行してください。

wakaba1972
質問者

お礼

回答が遅くなって申し訳ありません。 プログラム内でコマンドでサクラエディタのgrepを実行して対応する事になりました。貴重なアドバイス、またご意見、本当にありがとうございました。 では、失礼します。

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは 何がうまく行かないのでしょうか? リンク先のサイトを参考にしてNUL文字と垂直タブを検索したところヒット したのなら、置換で置換後をブランクで実行すればいいのでは?

wakaba1972
質問者

お礼

回答が遅くなって申し訳ありません。 プログラム内でコマンドでサクラエディタのgrepを実行して対応する事になりました。貴重なアドバイス、またご意見、本当にありがとうございました。 では、失礼します。

wakaba1972
質問者

補足

回答ありがとうございます。 説明不足ですみません。 私がやりたい事はサクラエディタを使用しないで、現在作成中のCSVを取り込むプログラム内で置換処理を行おうとしていますがうまくいかなかったの・・・ また私の説明が下手で申し訳ありませんが伝わりましたでしょうか。 どうぞ宜しくお願いします。

関連するQ&A

  • サクラエディタに使用できるvbscript用の正規表現キーワードファイルは、ありませんか?

    検索しましたが、見つからないのでお願いします サクラエディタに使用できるvbscript用の正規表現キーワードファイルは、ありませんか? よろしくお願いします

  • EXCEL vbaで化け文字を検索

    EXCELシートを、csvファイルにしてテキストエディタで開くと一部文字が「?」で表示されます。 調べてみると"垂直タブ"(コード「0B」)が「?」で表示されました。その他にも色々とあります。 テキストエディタで開いて、化ける文字がシート内に存在するか否かをチェックする方法はありませんか?(VBA) たとえば、 asciiコード表 sjisのコード表のどの範囲がテキストファイルでも化けないのか?が分かれば コードチェックでわかるのでは? 教えてください。

  • さくらエディタでの正規表現マクロ

    正規表現でタブ区切りの文字列の順序を入れ替える作業を試みています。 AAA BBB CCC PPP QQQ RRR のような文字列を BBB CCC AAA QQQ RRR PPP のように2列目、3列目、1列目のように順番を入れ替えたいです。 VBScriptで1行ずつ読み込み、タブを区切り文字として、配列に放り込み、配列の順番を指定して出力すればなんとか対応できるのですが、どうしてもさくらエディタで実装したいのですが、正規表現を駆使して対応できないものでしょうか? 検索により、パターンにマッチする部分は正規表現で2列目とか3列目というのは書けるのですが、パターンマッチだけで、置換後の文字列に変数などを使用できず苦しんでいます。 正規表現を用いていれればいいし、無理なら、さくらエディタで秀丸のように配列やFOR文などを使いたいのですが、使い方がわからず、質問しました。 ご存知の方がいらっしゃれば、教えてください。

  • Excel でタブ(\t)入力 は出来ない?

    Excel でタブ(\t)を入力することは可能でしょうか? タブを含んだ CSV ファイルを読みこんで表示することは出来るのですが、Excel 上からの入力は、かなり格闘したのですが、出来ずへこんでしまいました。。。 エディタからタブをコピー&ペーストなどを除き、方法をご存知の方がいらっしゃったらご教授ください。

  • Jedit X でエスケープ文字の置換に関して

    Jedit X 2.03 を利用しています。Mac の環境は Mac OS X 10.5.4 になります。 Jedit X にて、エスケープ文字を置換したいと思っています。 具体的には、垂直タブ(\v)を改行(\n)に変換したいと思います。 少し調べた所、Jedit X では、エスケープ文字の場合、¥(円マーク)では無く\(バックスラッシュ)との事でしたが、Jedit X で、半角英数で\vと入力しても、認識しませんでした。 最終的には、不可視の垂直タブ及び、改行(パラグラフブレーク)を表示させ、垂直タブ及び、改行(パラグラフブレーク)の記号をコピーする事が出来ましたので、置換をする事は出来ましたが、純粋にエスケープ文字を認識させて、置換させる事は出来ないでしょうか。 エスケープ文字の置換は頻繁に行いませんが、Mac で他に良いエディターが有れば合わせてアドバイスを頂ければ嬉しく思います。 ## safari の画面上では、バックスラッシュを入力すると\になる為、上記質問では全角のバックスラッシュ(\)を記載しています。

    • ベストアンサー
    • Mac
  • コマンド 文字列検索 正規表現について

    すみませんどなたか教えて下さい。 ある処理が失敗するとエラーのlogファイルを出力します。 エラーがないと0バイトのファイルが作成されます。 そのファイルが0バイトの場合、次の処理を実行させるbatファイルを作成中です。 ファイルサイズの取得ができればいいのですが、コマンドで見つけ切れませんでした。 そこで、logファイルをfindftr /cで1文字でもあれば、、、で判断するようにしました。 正規表現を使って試しましたが、文字があってもヒットしません。 どなたかアドバイスをお願いします。 findstr /c:".*" d:\a.txt >nul 2>&1 if errorlevel 1 ( remエラーlogファイルに文字列なし ) else ( rem エラーlogファイルに文字列あり )

  • エクセルの文字列を空白で文字数を揃えたい

    皆様のお知恵を拝借したく書き込んでいます。 どうか宜しくお願いいたします。 エクセルにあるデータをカンマ区切りCSVに したいと思っております。 *例 1,1,1,3,1,2,11,・・・ これに数値を空白で埋めて四文字(0001,等)にさせたいのですが、 どのような方法が可能でしょうか? ・試したこと 1、サクラエディタでの正規表現 でも、置換後の文字列を動的に渡せるのかわからなくて失敗。 2、セルの表示形式 数値の桁数によって変化させる方法がわからず 3、エクセルマクロ LEN関数を使ってループさせれば可能? (時間がかかりそうです) 以上、宜しくお願いします。

  • Unicode文字対応正規表現一括置換ソフト

    特殊文字を含んだテキストファイル(html)があります。形式はUTF-8です。 含まれている特殊文字は発音記号が主です。 このファイルで一括置換したい箇所があるのですが、改行を含むためメモ帳で作業が出来ません。 また、不規則なhtmlタグを含むので正規表現が使えると効率がよいです。 「サクラエディタ」で試したところ、文字コードの認識がうまくいかず文字化けしてしまいました。「UTF-8で開きなおす」も効果がありません。フォントがMSゴシックなどのUnicode非対応のものしか選択できないのも腑に落ちません。 OpenOffice「Writer」で試したところなぜか特殊文字が文字参照に書き換えられたり、文字コードが認識されないこともあります。 何かこの作業に適したソフトはないでしょうか。あるいは上記の使い方に何か間違いはありますでしょうか。

  • 文字コードの違うファイルインポート

    こんにちわ。 いつもお世話になっています。 文字コードの違うcsvファイルをTransferTextでインポートしたいのですが いい方法がなく困っています。 ご存知の方、ご教示下さい。 【経緯】 csvファイルはインターフェイス上では文字コードが「unicode」 で設定されているとの事でした。 mdbにてファイルのインポートを行うと文字化けするのでインポート定義を 設定してみた所、「UTF-8」だけが日本語にできたました。 しかし、インポートしてみるとカラム数が12個あったのに対して9個しか 取込できませんでした。 そこでそのcsvをエディタにて「名前を付けて保存」→文字コードを「SJIS」に変更して 保存し直しました。 その保存し直したcsvを読込するとカラム数も12個で文字も日本語でインポート できました。 どうしてもVBAでコマンドボタンを押下してインポートしたいのですが いい方法が見つかりません。 お知恵をお貸し下さい。 よろしくお願い致します。

  • csvファイルの文字を一括置換するbatファイル

    表記の通りです。 クライアントPCのイベントログ(セキュリティ)をcsvファイルに書き出すbatファイルを作成しました。 その中の文字列を別の文字列に一括で置換するbatファイルを作成したいと考えております。 例えば、aaaという全ての文字列を123に置換する(全ての列で)。 おわかりの方がいましたら、アドバイスをお願いいたします。 ついでにもう1つですが、書き出したcsvファイルから特定の列だけを別のcsvファイルにするbatファイルもできたら最高です。 こちらはついでですので、上の質問を優先でご回答をお願いいたします。 ちなみに、当方はプログラミング等初心者です。