【JavaScript】padEnd()メソッドで文字列の末尾に別の文字列を連結する方法
padEnd()メソッドとは
JavaScriptには文字列を連結するためのstring.concat()メソッドが用意されています。しかし、このメソッドには「連結後の文字列の長さを揃えたい」「特定の長さまで文字を埋めたい」といった細かい制御ができません。
そこで役立つのがstring.padEnd()メソッドです。このメソッドを使うと、元の文字列の末尾に別の文字列を繰り返し追加し、指定した長さにぴったり合わせた新しい文字列を作成できます。なお、元の文字列自体は変更されず、結果は新しい文字列として返される点にも注意してください。
構文
string.padEnd(length, "string");
パラメータの説明
- length(第1引数): 連結後に結果の文字列が満たすべき目標の長さです。この長さに達するまで、第2引数の文字列が末尾へ追加されます。
- string(第2引数): 最初の文字列に連結される文字列です。省略した場合は、代わりに半角スペースで埋められます。
使用例:指定した長さまで文字列を連結する
次の例では、str.padEnd()メソッドに目標の長さと追加用の文字列を渡しています。指定された長さに応じて、2番目の文字列が自動的に連結されます。
<html>
<body>
<script>
var str = "Hello";
document.write(str.padEnd(23," glad to meet you"));
document.write("</br>");
document.write(str.padEnd(37," glad to meet you"));
</script>
</body>
</html>
出力結果
Hello glad to meet you Hello glad to meet you glad to meet y
出力結果を見ると、1つ目の呼び出しでは23文字に合わせて「 glad to meet you」が1回追加され、2つ目の呼び出しでは37文字ちょうどになるよう、途中で文字が切り詰められていることがわかります。つまり、指定した長さを超える分は自動的に省かれる仕組みになっています。
注意点:元の文字列が指定した長さより長い場合
もし元の文字列の長さが、引数で指定したlengthよりも大きい場合、連結は一切行われません。その場合、元の文字列がそのまま返されます。文字列の切り詰めはされないため、短くしたい場合にはslice()などの別のメソッドと組み合わせる必要があります。
次の例では、最初に与えられた文字列(26文字)が指定された長さ(15文字)よりも長いため、元の文字列には何も変更が加えられず、そのまま出力されます。
使用例
<html> <body> <script> var str = "Hello pleasure to meet you"; document.write(str.padEnd(15," glad to meet you")); </script> </body> </html>
出力結果
Hello pleasure to meet you
まとめ
padEnd()メソッドを使えば、「2番目の文字列を最初の文字列の末尾に連結しつつ、結果全体の長さを揃えたい」という要件をシンプルなコードで実現できます。テーブル表示の整形や固定幅の出力フォーマットなどにも活用できる便利なメソッドなので、ぜひ使い方をマスターしておきましょう。
-
【JavaScript】2つの配列間の文字列の長さにおける最大絶対差を求める方法
問題 2つの文字列の配列 a1 と a2 を引数として受け取るJavaScript関数を作成する必要があります。各文字列は a〜z の英字のみで構成されているものとします。ここで x を1つ目の配列内の任意の文字列、y を2つ目の配列内の任意の文字列としたとき、関数は次の値を求めます。 max(abs(length(x) − length(y))) つまり、別々の配列に属する文字列のペアごとに長さの差の絶対値を計算し、その中で最大となる値を返すという問題です。 解法のポイント すべての文字列の組み合わせに対して二重ループで差を求めることも可能ですが、より効率的なアプローチがあります。絶対差
-
C#で2つの文字列を連結する方法【string.Concatメソッドの使い方】
C#で2つの文字列を連結(結合)するには、String.Concatメソッドを使用します。このメソッドは、指定した複数の文字列をひとつにつなげた新しい文字列を返します。例えば、str1とstr2という2つの文字列変数を連結したい場合は、次のようにConcatメソッドの引数として渡します。string str3 = string.Concat(str1, str2);サンプルコード以下は、実際に2つの文字列「Brad」と「Pitt」を連結して表示するプログラムの例です。using System; class Program { static void Mai