• 締切済み

UTF8の和文の行末の改行が二つになる。

UTF8の和文から正規表現で抜き出すと、 行末が「。」の場合に一個の改行コードで二個の改行になってしまいます。 ShiftJISならば、\rを取ればよいのですが、 UTF8では色々やってみても上手く出来ず、どうしたらよいのでしょうか?

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

なでしこのほうはなにがしかのプログラムを組んでいるだろうと思われるので ちょっとわかりませんが、 Speeeedは、文字コードの指定ができないようですけど 検索パターンと、置換パターンにそれぞれどのような指定をされましたか? 可能ならなでしこのプログラムを見せていただきたいのですがどうでしょうか?

valvalval
質問者

補足

間違えました。 「Speeeeed」はUTF8には未対応でした。 SJISコードのtxtを処理したときでした。 「なでしこ」で書くとこんな感じです。 変数1を「^検索文字列(.*)」で正規表現マッチ もし、それが空でないならば、変数2に抽出文字列を配列追加

全文を見る
すると、全ての回答が全文表示されます。
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

なんというソフトで、どのように操作して抜き出しをしたのでしょうか?

valvalval
質問者

補足

今回は、「なでしこ」と言う言語で実行したときの動作ですが、 以前にフリーの置換ソフト「Speeeeed」を使って正規表現置換したときも、二つの改行に見えるのに、一個の改行として処理されることがありました。 どちらも、UTF8のtxtですが、いったいどんな改行コードなんだろうと判らずにいます。 そういえば、どちらも文末で起きていました。 文書末を表すコードとかがくっついていたのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

異常が再現できる最小限のサンプルコードを提示してください。

valvalval
質問者

補足

UTF-8Nエンコードの外部txtを読ませるので、異常が再現できる最小限のサンプルコードというのはちょっと判りません。 一行ずつ読んで、行頭に特定の文字列があったら、文字列の後の文をtxt出力します。 それをエディタ等で開くと空行が見えますが、空行扱いではないという感じです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • UTF-32における改行コードって

    表題の通りです。 UTF-32の改行コードってなんなんでしょうか。 UTF-16の場合「0x0d0x000x0a0x00」 UTF-8の場合「0x0d0x0a」 ですよね? UTF-32の場合「0x0d0x000x0a0x000x000x00」? お分かりの方教えてください。m()m

  • UTF-8 文字コード番号で

    たとえば $character = "§" が UTF-8 コード表のたとえば番号 20 からたとえば番号 E38181 までのあいだにあるかどうか知りたい場合の「規則 [正規] 表現を用いた方法を教えてください。

    • 締切済み
    • PHP
  • UTF-8での改行"\n"について

    ほかに質問されている方がいらっしゃらないようですので、質問いたします。 ダイアログがでて、どちらか選択させるというJavaScriptを作成しているのですが、 文字コードを“UTF-8”にすると、 ダイアログで表示させる文字列の改行がうまくいきません。(厳密にいうと、"\n"が利きません。) どうしたらよいのでしょうか? 以下例文です。 <SCRIPT LANGAGE="JavaScript"> <!-- confirm("インストールされていません。\nダウンロードしますか?"); --> </SCRIPT> 解決法をご存じの方はご教授ください。 よろしくお願いいたします。

  • 正規表現 改行直後の文字列

    例として以下のような文字列があったとします。 --------------- a b c --------------- ※a,b,cの後ろは改行コード(CRLF) 置換で直後の文字が「b」である改行コードのみ削除する場合、 どのように正規表現で入力すればよいのでしょうか。 期待値は以下の通りです。 --------------- ab c --------------- ※ \r\n(?=^b)でためしてみましたが、うまくいかなかったです。。。

  • 改行コードについて

    ファイルの文字コードはutf-8で改行コードはLFです。 メール送信時にメール文面の一部にいれるテキストを mysqlに保存しています。 メール送信のソース内でデータを読み込み送信までは できているのですが改行コードを変換したく $msg = str_replace("\r\n", "\n", $msg); とやってみましたが改行されず普通に\r\nと表示され うまく変換ができません。 いろいろと試した結果以下のソースでは正常に改行されました。 $msg = str_replace("\\r\\n", "\n", $msg); メール送信前にデバッグでしてみましたが読み込むデータの 改行部分は\r\nとなっているのは確認済みです。 \を多くつければ改行はできるようなのですがこれは仕様なの でしょうか? またmysqlに入れてあるデータはフォームから入力し登録 しているのですがLFの改行コードは\nなので登録時に\r\nではなく \nと変換してからmysqlに登録するのがいいものなのでしょうか?

    • 締切済み
    • PHP
  • 改行コードCR(\r)をアンダースコア(_)に変換

    AIX、Kシェルです。 ファイルに出力された改行コードCR(\r)をアンダースコア(_)に変換したいのですが、 文字コードSJISだと期待通りの結果になるのですが、UTF-8だと全角の手前で止まってしまいます。 試したコマンドは下記です。 cat file.txt | tr "\r" "_" > tmpfile ex) file.txt(最終行は半角spaceと全角space) 10(改行コード=LF) 11(改行コード=CRLF) 12(改行コード=CR) 1(改行コード=LF) 2(改行コード=CRLF) 3(改行コード=CRLF) ああ(改行コード=CRLF)  (改行コード=CR) 【結果】tmpfile 10(改行コード=LF) 11_(改行コード=LF) 12_1(改行コード=LF) 2_(改行コード=LF) 3_(改行コード=LF) ああ_(改行コード=LF)  _ これがUTF-8だと12までは変換できるのですが、以降が出力されません。 UTF-8でも最後まで変換されるようにするにはどうすれば良いのでしょうか? 初心者で申し訳ありません。 お手数ですが、何卒宜しくお願い致します。

  • UTF-8が分からなくて困っています。

    SJIS → UTF-8形式に変換してデータを伝送したいです。 データの内容は、数字、タブ、改行コード(LF)です。 コードを調べてみたら、文字コードが同じみたいなので、SJISのまま伝送すると正常にファイルを読込むことができないでしょうか? データに付加しなくてはいけないコードなどあるのでしょうか? よくわからず困っています。教えてください、よろしくお願いします。

  • 【質問】word2007と、改行コードの非表示

    Word2007をインストールしてみたのですが、「改行」コードが 表示されたままです。行末にある"」みたいな記号です。 これを消すにはどうしたらいいのでしょ うか。  一応「編集コード」の表示・非表示というのは押してみた のですが、「タブ」コードなどは消えるものの、改行コードは 表示されたままです。

  • vbsで文字列内の改行コードを置換もしくは削除

    ある帳票作成ソフトにCSVを渡して帳票を作成するのですが、カンマで区切られた文字列内に改行コードが存在すると、CSVの区切りを判定してくれず(改行とみなされてしまう)、うまく帳票を出力してくれません。vbsで改行コードを削除、もしくは何か違う文字に置き換えしようと思うのですが、vbsにはうといためよくわかりません。どなたかご教授してもらえないでしょうか?。やりたいことは 元のCSV 【1行目】AAAAAAAAAA,BBBBB<改行コード>BBBBBB 【2行目】CCCCCCCCC,DDDDDDDDDD 変換後のCSV 【1行目】AAAAAAAAAA,BBBBBBBBBB(もしくはAAAAAAAAAA,BBBBB@BBBBB) 【2行目】CCCCCCCCC,DDDDDDDDDD 行末の改行コードまで変換してはだめです。文字コードはUTF-8です。 よろしくお願い致します。

  • Windowsでの改行コード

    HTMLを書くのにあたりUNIXサーバが主流なのだから、 UTF-8、改行コードはLFで行うことを勧められました。 Windowsの改行コードはCR LFだそうですが、 LFにした場合、Windows上でJAVAScriptなどのテストをしたときに 何か不都合があるのでしょうか。 改行コードが CR LF でUNIX上でトラブルになった事例は見つけました。 反対のことが良く分かっていません。よろしくお願いします。

このQ&Aのポイント
  • EP-803Aのデスプウエにインクが認識できず、エラーメッセージが表示されます。
  • 電源を切り、コンセントを抜き、カートリッジとインクを取り出して30分放置し、再度実行しても認識されません。
  • EPSONの製品に関する質問です。他に対処法はありますか?
回答を見る