JWW専用掲示板
(現在 過去ログ178 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 発言ランク ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■37392 / inTopicNo.1)  文字を一括して同じ文字に置き換える
  
□投稿者/ toshi (2回)-(2008/06/11(Wed) 21:37:18)
    こんにちは。

    文字を置き換える場合、「文字」→「ノートパット」を開いて置き換えると思うのですが、
    すべての違った文字を、ある特定の同じ文字に一括置き換えは可能なのでしょうか?

    たとえば、数字なのですが「1.111」、「22.222」、「333.333」の数字をすべて10.000に置き換えたいという場合です。

    よろしくお願いします。

引用返信/返信 [メール受信/OFF] 削除キー/
■37396 / inTopicNo.2)  Re[1]: 文字を一括して同じ文字に置き換える
□投稿者/ coolyoppe (1118回)-(2008/06/12(Thu) 02:03:58)
    No37392に返信(toshiさんの記事)
    > こんにちは。
    >
    > 文字を置き換える場合、「文字」→「ノートパット」を開いて置き換えると思うのですが、
    > すべての違った文字を、ある特定の同じ文字に一括置き換えは可能なのでしょうか?
    >
    > たとえば、数字なのですが「1.111」、「22.222」、「333.333」の数字をすべて10.000に置き換えたいという場合です。
    >
    > よろしくお願いします。
    >

    こんにちは。

    外部エディタとして、
    正規表現で検索置換の行えるテキストエディタを使用すれば
    可能かと思います。

    一例ですが、
    テキストエディタとして「TeraPad」
    http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html
    そのツールとして「TpRegExp」
    http://members.at.infoseek.co.jp/delfy_soft/others/
    を使用すると、

    検索文字列に
    [-\d\,\.]+
    置換文字列に
    10.000
    と入力して「すべて置換」を実行すれば、
    マイナス符号、,区切り、小数点の付いている数値もすべて置換されます。

    「TeraPad」へツールの登録方法を簡単に説明します。
    1.適当なフォルダに、
     「TeraPad」をインストール(インストーラ付きの場合、zip版の場合は
     解凍するだけ)する。
    2.適当なフォルダに、ツール「TpRegExp1_0_1.zip」を解凍する。
    3.「TeraPad」を起動したら、メニュー「ツール」、「ツールの設定」
     から、「追加」ボタンクリック、
     「名前」のところに「正規表現検索置換」などと入力、
     「実行ファイル」のところの右側の「_」ボタンから手順2で解凍した
     場所にある「TpRegExp.exe」を選択して「開く」ボタンをクリックし
     「OK」で完了。

    JWWでの外部エディタ登録と使用方法です。
    1.JWWを起動したら、基本設定「一般(1)」の「外部エディタ」の
     ところの右側の「参照」ボタンから、上記の手順1で「TeraPad」を
     インストールした場所にある「TeraPad.exe」を選択して「開く」、
     「OK」で登録完了。
    2.文字コマンドの「範囲選択」ボタンから変更したい数値を
     全部選択(数値以外なら他の文字列が含まれていてもOK)、
     「選択確定」から一番右側の「TeraPad」ボタンをクリック。
    3.「TeraPad」が起動するのでメニュー「ツール」から、
     「正規表現検索置換」(先程登録したツールの名前)を選択、
     「検索する文字列」に
    [-\d\,\.]+
     「置換後の文字列」に
    10.000
     と入力して「すべて置換」ボタンをクリック。
    4.すると数値がすべて「10.000」に置換されるので、
     後は、メニュー「ファイル」、「上書き保存」して終了すれば
     JWWに反映されます。

引用返信/返信 [メール受信/OFF] 削除キー/
■37412 / inTopicNo.3)  Re[2]: 文字を一括して同じ文字に置き換える
□投稿者/ toshi (3回)-(2008/06/12(Thu) 22:27:48)
    coolyoppe さん、ありがとうございます。

    「ノートパット」ではできないみたいですね。
    「TeraPad」検討してみます。



引用返信/返信 [メール受信/OFF] 削除キー/
■37415 / inTopicNo.4)  Re[1]: 文字を一括して同じ文字に置き換える
□投稿者/ ban (2回)-(2008/06/12(Thu) 23:33:08)
    No37392に返信(toshiさんの記事)
    > こんにちは。
    >
    > 文字を置き換える場合、「文字」→「ノートパット」を開いて置き換えると思うのですが、
    > すべての違った文字を、ある特定の同じ文字に一括置き換えは可能なのでしょうか?
    >
    > たとえば、数字なのですが「1.111」、「22.222」、「333.333」の数字をすべて10.000に置き換えたいという場合です。
    >
    > よろしくお願いします。

    K2Editorでも出来ますよ。

    http://www.vector.co.jp/soft/win95/writing/se126077.html

    『検索』→『置換』と進み
    検索語に『1.111|22.222|333.333』と入力(『』内の文字)
    置換する語に『10.000』と入力
    ファイル先頭からにチェック
    『全置換』を実行する。

    以上で 1.111、22.222、333.333 が 10.000に変更されます。
    『|』はキーボード shift + \ で入力
    (『|』は、又はの意味があります)
    それ以外に正規表現等による置換も出来ます。

引用返信/返信 [メール受信/OFF] 削除キー/
■37416 / inTopicNo.5)  Re[3]: 文字を一括して同じ文字に置き換える
□投稿者/ hayabusa (2回)-(2008/06/12(Thu) 23:44:00)
    tohsiさん、こんばんは。
    横から失礼します。

    私も基本的にはcoolyoppeさんの手法をお奨めします。
    唯、その場合正規表現をある程度習得する必要があります。

    当面の業務に必要な場合下記の外部変形で可能ですので
    参考にしてください。

    この外部変形にはmswin32Ruby1.8.1が必要です。
    (hikari様のJ_GARU Ver2.0というソフトで自動導入できます)

    正常に導入された場合は|BAT 編集|項目をクリックしますと
    左上にruby 1.8.1が表示されます。

    バッチファイル名は「文字列置換.bat」としてください。
    ######下記よりメモ帳にコピペして全角スペース→半角スペースの置換してください。
    @REM 文字列置換
    @echo off
    goto do%1
    rem
    rem ----------------------------------------------------------------
    rem ※このファイルを編集した場合は上書き保存してください。
    rem ※ファイルを閉じなくても編集は反映されます。
    rem ----------------------------------------------------------------
    rem
    rem ※注意点
    rem
    rem 1.置換対象文字列は全レイヤグループです。
    rem (寸法図形の寸法値、ブロック図形は対象外)
    rem
    rem 2.置換後の文字列は置換前の文字列の属性を継承します。
    rem
    rem 3.置換文字列を個別選択したい場合は適当な処を範囲選択の後
    rem 左または右クリックで取得
    rem
    REM #jww
    REM #cd
    REM #hm |文字列入力型|文字列指定型|BAT 編集|
    REM #:1
    REM #h3
    REM #g1
    REM #hc 置換する文字列を範囲選択(寸法図形、ブロック図形対象外)
    REM #c 置換文字列入力: /_/a
    REM #zz
    REM #zc
    REM #bz
    REM #hr
    REM #e
    REM #:2
    REM #h3
    REM #g1
    REM #hc 置換する文字列を範囲選択(寸法図形、ブロック図形対象外)
    REM #1ch 図面内の置換文字列をマウス指示(L)
    REM #zz
    REM #zc
    REM #bz
    REM #hr
    REM #:3
    REM #h0
    REM #hr
    REM #e
    :do1
    :do2
    copy jwc_temp.txt temp.txt > nul
    ruby -x %~f0 temp.txt %1 %2 > jwc_temp.txt
    del temp.txt
    rem pause
    exit
    goto END
    :do3
    start notepad.exe 文字列置換.bat
    ruby -e 'puts "h# ruby #{RUBY_VERSION} "' > jwc_temp.txt
    goto END
    #!ruby -Ks
    while ARGV.length > 1
    case argument = ARGV.pop
    when /^[1-2]/
    koumoku = argument.to_s
    when /^\/a/
    moji0 = "\""+argument[2.. -1].to_s
    end
    end
    if koumoku == "1" && moji0 == nil
    puts "he 置換文字列が入力されていません。"; exit
    end
    datas = []
    while ARGF.gets
    if $_ =~ /^hq/
    puts "hd"; puts "bz"
    elsif $_ =~ /^hhp1ch/
    ARGF.gets
    ele = split; no = $_.index(/\"/); moji0 = $_[no..-1].to_s
    datas << $_
    else
    datas << $_
    end
    end
    datas.each{|data|
    if data =~ /^c[hvsroptkz2]\s/
    ele = data.split
    mc = ele[0].to_s; ele.collect!{ |item| item.to_f }
    puts [mc,ele[1,4],moji0].join("\s")
    else
    print data
    end
    }
    #
    :END
    #######以上です。

引用返信/返信 [メール受信/OFF] 削除キー/
■37434 / inTopicNo.6)  Re[2]: 文字を一括して同じ文字に置き換える
□投稿者/ toshi (6回)-(2008/06/16(Mon) 21:48:03)
    hayabusaさん、banさん、ありがとうございます。

    いろいろ教えてくれてありがとうございました。

引用返信/返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 発言ランク ファイル一覧 検索 過去ログ

- Child Tree -