文章の下ごしらえ
入力した文章はこの画面の中だけで処理します。
① 空白を消す
消し方
全角スペース(見た目では半角スペースと区別しにくい空白)が2個ありました。 上の「全角スペース」にチェックが入っているので、下の結果ではすでに消えています。
| 種類 | 見つかった数 | 消した数 |
|---|---|---|
| 半角スペース | 4 | 4 |
| 全角スペース | 2 | 2 |
| タブ | 0 | 0 |
| 改行 | 3 | 0 |
あわせて6か所を整えました。
② 指定した文字で区切って並べる
①で整えたあとの文章(上の「空白を消したあと」)を使います。
向き
区切り文字
空の要素
4件に分けました。
よくある質問
全角スペースは半角スペースと何がちがうのですか?
どちらもUnicodeでは「区切り用の空白(Zs)」という同じ仲間に入っていますが、別の文字です。全角スペース(U+3000)の正式な説明には「半角スペース(U+0020)の全角版」だと書かれています。仲間だと分かっていて、それでも別の文字として扱われているので、見た目はほとんど同じなのに文章に紛れ込んでいても気づけません。このツールは消す前に、全角スペースが何個あったかを数えて見せます。
「行の先頭と末尾だけ消す」と「連続するものを1つに」はどう違いますか?
「行の先頭と末尾だけ」は、各行の両端にある空白だけを削ります。行の途中にある空白はそのまま残ります。「連続するものを1つに」は、2つ以上続けて並んでいる空白を1つにまとめる操作で、行の途中でも両端でも関係なく効きます。ただしもともと1つしか無い空白はそのまま残ります。
区切り文字はカンマ以外も使えますか?
使えます。改行・タブ・カンマのほか、「、」のような好きな文字を指定できます。区切り文字をカンマに決め打ちしていないのは、カンマで区切るという書き方が公式に文書化されたのが2005年のRFC 4180と、思ったより新しいためです。しかも小数点にカンマを使う国では、表計算ソフトが既定の区切り文字をセミコロンに変えてしまいます。
空の要素はどう扱われますか?
「残す」と「消す」を選べます。たとえば「りんご,,みかん」をカンマで区切ると、真ん中に中身の無い要素ができます。「残す」を選ぶと番号つきのままそこに並び、「消す」を選ぶと詰めて番号を振り直し、何個消したかを表示します。前後が空白だけで埋まっている要素も「空」として扱います。
区切ったものを、また1行にまとめられますか?
できます。「向き」を「まとめる」に切り替えると、改行で並んだ行を指定した文字でつないで1行にします。分けるのと逆の操作です。空の行を消してからまとめることもできます。
貼り付けた文章はどこかに送られますか?
送られません。読み込みから計算まで、すべてこの画面の中(お使いの機器の中)で行っています。通信が増えないので、未公開の原稿や社外に出せない文章でも、そのまま貼り付けられます。
貼った文章の空白を選んで消し、そのあと好きな文字で区切って番号つきに並べます。逆に、並んだものを 1行へまとめることもできます。入力はどこにも送信しません。
全角スペースは、半角スペースの「仲間だが別の文字」です
Unicodeの文字データベースを実際に読むと、半角スペース(U+0020)も全角スペース(U+3000)も、 どちらも一般カテゴリ Zs(区切り用の空白)という同じ仲間に入っています。 しかも全角スペースの項目には、互換分解として「<wide> 0020」── つまり「半角スペースの全角版」だと明記されています。
親戚だと分かっていて、それでも別の文字として扱われている。だから見た目はほとんど同じなのに、機械にとっては違う文字のままです。 検索で見つからない、置換が効かない、といった困りごとの多くはここが原因です。 この道具が消す前に「全角スペースが何個ありました」と件数を出すのは、 目では見分けられないものを、消す・消さないを決める前に見せるためです。
タブと改行は、実は「制御文字」の仲間です
同じデータベースで、タブ(U+0009)と改行(U+000A・U+000D)を調べると、 分類はCc(制御文字)でした。スペースの仲間(Zs)ではありません。 タブは表の列をそろえるための記号、改行は行を分けるための記号で、 そもそも「間を空けるためだけの文字」ではないからです。
だからこの道具では、消し方の意味を対象ごとに読み替えています。 半角・全角スペースとタブは、行の中のどこにあっても同じように数えて消せますが、 改行だけは「行の先頭と末尾だけ」を選ぶと文章全体の先頭と末尾にある空行を指すように読み替えます。行の途中に改行という文字自体が存在しないためです。
区切り文字が「カンマ」と決まっていないわけ
カンマで区切るという書き方(CSV)が、初めて公式に文書として定められたのはRFC 4180(新しいタブで開きます)(2005年10月)です。意外と最近です。それまでは「たいていの実装がなんとなく従っている形」しか無かったと、 この文書の冒頭が書いています。 その2条4項は「フィールドはカンマで区切る」と定めています。
ところがこの決め打ちには、世界規模の例外があります。小数点にカンマを使う国(多くのヨーロッパの国)では、 表計算ソフトが既定の区切り文字をセミコロンに変えてしまいます。 「1,5」を1.5という1つの数として読ませたいのに、区切り文字までカンマだと 数の途中で区切れてしまうためです。区切り文字を1つに決め打ちできない理由が、ここにあります。だからこの道具は、カンマ・タブ・改行に加えて、好きな文字を指定できるようにしています。
空の要素を「残す」か「消す」かで、数え方が変わります
「りんご,,みかん」をカンマで区切ると、真ん中に中身の無い要素が1つできます。 入力ミスでできることもあれば、表計算ソフトの空欄をそのまま貼ったときにもできます。
「残す」を選ぶと、空の要素も番号つきでそこに並びます。本当にその位置に何も無かったことが、番号のとおりに伝わります。「消す」を選ぶと、詰めて番号を振り直します。どちらを選んでも、何個の空の要素をどう扱ったかを必ず数で表示します。 黙って処理すると、要素が減ったのか、もともと無かったのかが分からなくなるためです。
数値の出どころ: 文字の分類(Zs・Cc)と互換分解はUnicode Character Database(新しいタブで開きます)を実際に取得して確かめています。カンマ区切りの書き方はRFC 4180(新しいタブで開きます)(Shafranovich, 2005)から取っています。いずれも一次資料で確かめた内容だけを書いていて、 推測で埋めた欄はありません。