過去の桐井戸端BBS (桐ver.9)
27947 連続した複数の空白文字を整理して1つにしたい 讃岐のご隠居 2004/10/13-10:12
エクセルよりCSV形式経由で文字データを読込ませましたが、表示上の体裁を整えるために
#全角空白文字列が入っていました。
「香川県□□架空市□□□架空町□□3−5−1」。まちまちな長さの連続空白ごとに1個にまとめて
以下の様に整理するにはどのような置換をかければよいでしょうか?
「香川県□架空市□架空町□3−5−1」空白も単語の区切りとして意味があるので
#TRIMで全く取去ってしまうのは不可です。
 置換のみで不可能なら、道具箱、履歴、一括の使用も可です。
27948 Re:連続空白文字を整理したい。 幅田 2004/10/13-11:02
記事番号27947へのコメント
讃岐のご隠居さん
こんにちは。

一括処理も可とのことですので、下記のようなのはいかがですか。
まあ、いろんな方法はあるとは思いますが、
今回は置換を使わず行訂正を使ってみました。

1行ごとに#文字置換で空白2つを1つになるように行訂正を繰り返します。

文字数が行訂正前と同じかどうかで、
空白が1つになったかどうかの判断をします。

空白が連続1つになった時点で、
これ以上空白を減らせないということで
次の行へ移って同様の処理を終端行になるまで繰り返します。

一応テストではうまくいきました。

== 一括処理の例 ===

 変数宣言 数値{&文字数} 
  ジャンプ 行番号=先頭

 繰り返し (.not #終端行)
  &文字数=0

   繰り返し (&文字数<>#文字数([住所]))
    &文字数=#文字数([住所])
    行訂正 [住所]=#文字置換([住所] ,"  " ," " )
   繰り返し終了

  ジャンプ 行番号=次行
 繰り返し終了

27955 Re:連続空白文字を整理したい。 幅田 2004/10/13-21:51
記事番号27947へのコメント
讃岐のご隠居さん

> 置換のみで不可能なら、道具箱、履歴、一括の使用も可です

置換でやるとすれば・・

その連続空白の数がそんなに多くないなら、
空白2つを1つにする#文字置換を3つぐらい入れ子にして
やれば、連続8つぐらいはまとめて、1つにすることができます。


#文字置換(#文字置換(#文字置換([],”  ”,” ”),"  ”,” ”),"  ”,” ”)

27959 Re:連続空白文字を整理したい。 讃岐のご隠居 2004/10/14-10:22
記事番号27955へのコメント
幅田さん

>#文字置換(#文字置換(#文字置換([],”  ”,” ”),"  ”,” ”),"  ”,” ”)

これは実用に耐える、簡便なやり方ですね。早速使用いたします。ありがとうございました。

戻る