テキストの各行を固定幅にそろえて整列する方法
改行で分けた各行に埋め文字を加え、指定幅に合わせて左寄せ、右寄せ、中央寄せで整えます。指定幅以上の行は短くなりません。
概要:行単位の幅を整える場面
複数行のテキストを、行ごとに指定した幅へそろえたいときに使います。入力は改行文字で分割され、各行が個別に処理されます。指定幅より短い行には埋め文字が加わり、幅以上の行はそのまま残ります。行の前後や両側のどこへ埋め文字を置くかを選べるため、一覧、表形式の文字列、見た目をそろえたい短いラベルなどの整形に向いています。
入力項目を省略した場合は、テキストが空、幅が20、埋め文字が空白、配置が左寄せとして扱われます。ただし、テキストが空の場合は幅の調整をせず、空の出力が返ります。幅を指定すると、整数に変換されたうえで1以上200以下の範囲として扱われます。
手順:テキストと整列条件を設定する
-
整形するテキストを入力します。複数行を扱うときは、行と行の間を改行文字で分けてください。入力が空なら、ほかの項目を設定していても空の出力になります。
-
目標の幅を指定します。幅を省略すると20が使われ、指定した値は整数に変換されてから1未満なら1、200超なら200として扱われます。数値へ変換できない値では、整形が完了する前に変換で失敗する可能性があるため、整数へ変換できる値を入力してください。
-
必要に応じて埋め文字を指定します。省略時は空白が使われます。複数の文字を入力しても、実際に使われるのは先頭の1文字だけです。
-
配置を選択します。左寄せでは短い行の後ろ、右寄せでは行の前に埋め文字が加わります。中央寄せでは不足分が前後に分かれます。不足分が奇数なら左側が少なく、右側が1つ多くなります。中央寄せ以外の配置値は中央寄せとして扱われます。
-
実行後、各行の長さと埋め文字の位置を確認します。入力の行は個別に処理され、処理後は同じ改行文字でつながります。
結果の見方:追加位置と未変更の行を確認する
短い行では、目標の幅との差分に応じた数の埋め文字が追加されます。たとえば幅5に対して長さ3の行を右寄せにすると、2文字分が行の前に置かれます。左寄せなら同じ不足分が後ろに入り、中央寄せなら前後へ分配されます。
行の長さが指定幅と同じ場合や、それを超える場合、その行は変更されません。このため、出力が指定幅を超えることがあり、長い行を自動的に切り詰める用途には使えません。複数行でも、最長の行に合わせて幅が広がるのではなく、設定した幅と各行が別々に比較されます。
改行文字で分けた入力では、行ごとの処理結果を確認できます。復帰文字など、改行文字以外の改行表現については動作が確認されていないため、意図した区切りになっているかを先に確かめてください。
使用例
2行の短い英単語を、ドットで右寄せして同じ幅にそろえる場面です。
「cat」と「fox」を2行のテキストとして入力し、幅を5、埋め文字を「.」、配置を右寄せにして実行します。
右寄せ、幅5、埋め文字「.」では、2行とも5文字幅になり、各行の先頭にドットが2つ付く形です。
制限事項
- 改行文字以外の改行表現での動作は確認されていません。また、整数へ変換できない幅について、穏当な処理は確認されていません。
よくある間違い
- 幅に変換できない文字列を指定すると、埋め込みの前に変換で失敗する可能性があります。幅には整数へ変換できる値を入力してください。
よくある質問
空のテキストを入力するとどうなりますか?
テキストが空または入力されていない場合は、幅や配置を適用せず、空の出力になります。
複数文字の埋め文字を指定できますか?
指定した文字列のうち、先頭にある1文字だけが埋め文字として採用されます。
指定幅より長い行はどうなりますか?
その行は削除も短縮もされず、入力時の内容のまま出力されます。