投稿者
 メール
  題名
  内容 入力補助動画検索<OBJECT>タグが利用可能です。(詳細)
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ] [ teacup.コミュニティ ] [ 検索 ]

投稿募集! スレッド一覧

スレッド作成 他のスレッドを探す

[PR]  坐骨神経痛 奈良の求人・転職 SSL 電話料金
teacup. ] [ 無料掲示板 ] [ プレミアム掲示板 ] [ teacup.コミュニティ ] [ ブログ ] [ チャット ]

全150件の内、新着の記事から20件ずつ表示します。 1  2  3  4  5  6  7  8  |  《前のページ |  次のページ》 

検索文字列内の文字化け

 投稿者:K  投稿日:2006年 9月27日(水)16時51分13秒
  このたび、Repl-Aceをダウンロードして早速使ってみたのですが、
解決することができない質問があるので質問させていただきます。

複数行入力ツールで正しく入力し、OKをクリックした後、検索文字列内で文字化けみたいな
現象が起きています。例えば
<!--ここまで-->と複数行入力ツールに入力すると検索文字列内には<!\-\-ここまで\-\->
となってしまいます。そのまま一括実行を試してみても置き換えはされていません。

ものすごく基本的な質問なのかもしれませんが、理由が分からないので
ご教示いただければと思います。
宜しくお願い致します。
 

Re : Re : 置換処理時の内部Shift-JIS

 投稿者:行削ファン  投稿日:2006年 9月 4日(月)11時13分35秒
   了解しました。
 これでますます便利に活用できます(本当に助かってます!)。
 

Re : 置換処理時の内部Shift-JIS

 投稿者:SirMiles(作者)  投稿日:2006年 9月 2日(土)22時56分53秒
   ご推察のとおり、改行コードに変換が加えられることはありません。
 EUC-JPで誤って「\r\n」が使用されていればそのままですし、正しく「\n」が使用されていても、やはり「\r\n」に変換されることなく「\n」のまま処理されます。
 

置換処理時の内部Shift-JIS

 投稿者:行削ファン  投稿日:2006年 9月 2日(土)22時49分30秒
  毎回丁寧にご回答いただきありがとうございます。
だいぶ飲み込めましたが、最後にもう一つだけ…(すみません)

>他の文字コードよりShift-JISに変換された時点で、改行文字に「\r\n」が使われているか「\n」が使われているかが

この内部Shift-JIS変換が行われるときに、改行コードは変換されないということでよろしいでしょうか?
 

Re: 文字コードと$(行末)の関係について

 投稿者:SirMiles(作者)  投稿日:2006年 8月31日(木)12時54分31秒
   このあたりは、少々ややこしい話になってしまうので、先に最後のご質問からお答えいたします。

 実際の置換処理時に使われる文字コードは、内部的にShift-JISとなります。
 したがって、他の文字コードよりShift-JISに変換された時点で、改行文字に「\r\n」が使われているか「\n」が使われているかが問題となります。
 すなわち、

 デフォルトの文字コードには影響されない

というのが答えになるかと思います。

 もう一つは改行文字そのものに関してですが、まず前提として、マルチラインモードの「$」は挙動として、「改行文字を除いた一行」ということになります。
 すなわち、

aaaaa\r\n

という文字列を、「aaaaa$」で検索した場合、「aaaaa」の部分にマッチして「\r\n」は無視されるということになります。つまり、上記のような設定で、置換文字列を空にして置換すると、改行文字の羅列が残るということです。

 また、先ほど「実際の置換処理の挙動には影響しません」と書きましたが、マルチラインモードでは「影響します」が答えになります。訂正してお詫びいたします。
 すなわち、

aaaaa\r\n

という文字列を、デフォルト改行文字が「\n」の設定の上で「aaaaa$」で検索した場合、「\n」を除いた一行は「aaaaa\r」になるため、検索されないということになります。「aaaaa\r$」ならば検索されます。

 つまり、まとめますと…。

・「デフォルトの文字コード」に関わらず、そのテキストをShift-JISに変換した時点で、改行文字が「\r\n」なのか「\n」なのかが問題。
・「デフォルトの改行文字」は、マルチラインモードを使用する場合、そのテキストの改行文字に深く関係する。

ということになります。
 

文字コードと$(行末)の関係について

 投稿者:行削ファン  投稿日:2006年 8月31日(木)10時52分56秒
  ヘルプを読み直しまして、別の質問が出てしまいました。

 マルチラインモードを選択すると、「$」(行末)が使用できるようになりますが、
これが 「\r\n」、「\n」等のいずれかを指すのかは
 ・「デフォルトの文字コード」に影響される
 ・「デフォルトの改行文字」には影響されない

という理解でよいでしょうか?

また、上記の設定と処理対象ファイルの文字コード、改行文字とが整合しない場合、
どのような動作になるのでしょうか?
Repl-Ace側の文字コード設定がShift-JISで、処理対象ファイルがEUCだったような場合です。
 

Re : 条件に合致した行の削除について

 投稿者:行削ファン  投稿日:2006年 8月31日(木)10時03分19秒
  ご回答ありがとうございます。
>置換後のファイルサイズが0になった時、ファイルが変更されない
了解しました。
 ファイル末尾に何か処理に影響されないマークを付け加えて、
 ファイルサイズ0になるのを防止しながら作業します。

>基本的に「マルチラインモード」では検索文字列に改行文字を指定しない前提
 これも了解しました。
(別の質問がありますので、別の記事に移行します)
 

Re : 条件に合致した行の削除について

 投稿者:SirMiles(作者)  投稿日:2006年 8月31日(木)08時48分4秒
   お待たせいたしまして、申し訳ございません。

 まず、ファイル1(内容は点線内側の3行)
-----------
aaaaa
aaaaa
aaaaa
-----------

のパターンですが、置換後のファイルサイズが0になった時、ファイルが変更されないということが分かりました。これはバグですが、エラーを想定したロジックに起因するため、現時点では修正困難(私的に時間不足という要因も)です。
 大変申し訳ございません。

 続いて、改行に関するご指摘についてです。
 マルチラインモードの挙動は、外部モジュールとして使わせて頂いているBREGEXP.DLLによるものですが、基本的に「マルチラインモード」では検索文字列に改行文字を指定しない前提でお使いいただくという想定になっています。

 これは推測ですが、マルチラインモードでは「\n」を指定すると、内部的に行の終端と解釈され、「\r\n」を指定すると、内部的には「\r」で終わっている行の終端と解釈されるようです。
 したがって、この場合はマルチラインモードをオフにした上で、「\r\n」を指定されるとよろしいかと思います。

 ちなみに、「デフォルトの改行文字」は、複数行入力ツールなどで、自動で正規表現を作成する際、改行部分で「\r\n」を入れるか「\n」を入れるかのみを制御するもので、実際の置換処理の挙動には影響しません。
 

Re : 条件に合致した行の削除について

 投稿者:SirMiles(作者)  投稿日:2006年 8月30日(水)21時29分42秒
   行削ファンさん、現在確認が滞っております。
 大変申し訳ございませんが、確認が出来次第、お答えいたしますので、今しばらくお待ちくださいませ。
 

条件に合致した行の削除について

 投稿者:行削ファン  投稿日:2006年 8月29日(火)21時39分44秒
  特定の条件に合致する行を削除したいのですが、うまくいきません。
たとえば、

正規表現、マルチラインを使用する設定で
検索文字列 aaaaa\n
置換文字列 (なにも指定しない)
としたときに、

ファイル1(内容は点線内側の3行)
-----------
aaaaa
aaaaa
aaaaa
-----------
は処理結果ウインドウに3箇所変換と出るものの、ファイルは変更されません。

ファイル2(内容は点線内側の4行)
-----------
aaaaa
aaaaa
aaaaa
bbbbb
-----------
は最後のbbbbbだけが残り、期待通りなのですが。
なぜでしょう?

あと、デフォルトの改行文字は\r\n、漢字コードはシフトJISとしてありますが、
検索文字列をaaaaa\r\nとするとファイル1,2のいずれも対象行にヒットしません。
「デフォルトの改行文字」は、検索文字列に入力された\nを内部的に読み替える
オプションかなにかなのでしょうか?
 

Re : 複数文字列の置換

 投稿者:SirMiles(作者)  投稿日:2006年 8月29日(火)12時18分55秒
  ご利用ありがとうございます。

ちゃんと試したわけではありませんが、恐らく970行がダメというよりは、文字数が多すぎて、処理できていないものと思われます。
複数行の入力を使用した場合、正規表現の文字列に自動変換されますので、単純に空白行が900行あったとして、「\r\n」という文字列が900回、つまり3600バイトの文字列として、置換処理に引き渡されることになります。

確かなことは言えないので申し訳ございませんが、私が予想するに、1行が500文字程度の文章であれば、100行程度までがリミットかと思います。
 

複数文字列の置換

 投稿者:カトウ  投稿日:2006年 8月29日(火)11時37分25秒
  こんにちは。
過去ログが検索できないようなのですでにされた質問かもしれませんがおねがいします。

複数行入力で970行を貼り付け置換したいのですがうまくいきません。
行が多すぎるのでしょうか?
 

Re : 指定文字削除

 投稿者:SirMiles(作者)  投稿日:2006年 8月23日(水)07時49分36秒
  ご利用ありがとうございます。

ご質問の意図は、

あ+いう***えお**かき*く+け*こ

という文字列を、

あいうえおかきくけこ

のようにしたいということで、よろしいでしょうか。

であれば、

検索文字列に削除したい文字を入力し、置換文字列を空白にすればOKです。正規表現にはチェックをつけないで下さい。

例示された場合ですと、まず+だけを消すパターンを置換計画に追加し、続いて*だけを消すパターンを置換計画に追加します。
両方一括りで指定する正規表現もありますが、まずは上記の方法で充分かと思います。
 

指定文字削除

 投稿者:AQA  投稿日:2006年 8月22日(火)17時53分1秒
  指定文字(例えば、‘、*)等、一文字だけを消す事は可能でしょうか?
あ+いう***えお**かき*く+け*こ、の様に*と+を消したいのですが、可能でしょうか
 

Re : ファイルに書き込めない

 投稿者:SirMiles(作者)  投稿日:2006年 8月 3日(木)15時10分32秒
  ご利用ありがとうございます。

「ファイルに書き込めない」というエラーが出るのは、本当にOS的な原因で書き込めない場合です。

例えば…

●ログオンしているユーザーに、対象としているファイルに対する更新権限がない。
●対象ファイル(またはメディア、フォルダ)が読み取り専用になっている。
●ネットワーク上に対象ファイルがあり、アクセス権限が読み取りのみになっている。

…などが挙げられます。

よく問題になるのは、そのパソコンを複数ユーザーが利用している場合、他のユーザーが所有するファイルに対して、ログオンユーザーが書込み権限を持たないといったことです。
 

ファイルに書き込めない

 投稿者:まろ  投稿日:2006年 8月 3日(木)10時45分4秒
  文字列置換はカウントされるのですが、「ファイルに書き込めない」というエラーが発生してしまいます。どのような原因が考えられるでしょうか?  

Re:Re : 置換でゴミ文字が。。。

 投稿者:とし  投稿日:2006年 7月 7日(金)14時58分53秒
  早速のご回答ありがとうございます。

ご提示頂いた内容で置換し直すと、正常なUTF-8なりました!
文字コード変換の制限であればどうしようもないですね。

ありがとうございました。とても助かりました。
 

Re : 置換でゴミ文字が。。。

 投稿者:SirMiles(作者)  投稿日:2006年 7月 7日(金)11時17分24秒
  ご利用ありがとうございます。

文頭の?は、BOMと呼ばれるもので、UTF-8などの文字コードを採用するファイルに付与されるものです。

Repl-Aceは、文字コード変換の制限により、BOMを正しく認識できず、BOMが?へと不正に変換されてしまいます。

これに関しては、現在のところソフト的な対応の手立てがありません。
大変申し訳ございません。

一応、UTF-8の置換が全て終了したあと、

検索文字列:^\x3f
置換文字列:\xEF\xBB\xBF
正規表現:○
バイナリモード:○
説明:@USE[SJIS]

でもう一度置換しなおすと、正常なUTF-8のファイルになります。
 

置換でゴミ文字が。。。

 投稿者:とし  投稿日:2006年 7月 6日(木)15時48分37秒
  XMLファイルを置換すると、
<?xml version="1.0" encoding="utf-8"?>

?<?xml version="1.0" encoding="utf-8"?>
という風に、先頭に「?」が付加されてしまいます。
置換文字列は文中で上記とは全く関係のない文字列です。
設定は、
正規表現   ×
変換     ×
マルチモード ×
バイナリ   ×
文字コードはUTF-8です。
何か設定が間違っているのでしょうか?
 

Re : (無題)

 投稿者:SirMiles(作者)  投稿日:2006年 6月30日(金)08時21分1秒
  [aA][bB]
という感じになると思います。
残念ながら、Repl-Aceでは、大文字小文字の区別をしないオプションがありません。ちょっと面倒ですが、上記の記述で一応解決できると思います。
 

以上は、新着順101番目から120番目までの記事です。 1  2  3  4  5  6  7  8  |  《前のページ |  次のページ》 
/8 


[PR]