• 締切済み

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