0

結合したい 2 つの文字列があり、特定の幅を超えていません。

$string = sprintf("%4(%s %s)", $s1, $s2);
//s1 s

結合された %s %s が幅 4 を超えていないことに注目してください。

sprintfでこれを行うにはどうすればよいですか?

ありがとう!

4

2 に答える 2

1

sprintf でこれを行う方法はわかりませんが、substr()を使用してそうすることができます。

$string = substr("$s1 $s2",0,4);

これは同じ結果を返すはずです

于 2012-10-05T23:58:03.607 に答える
1

おそらく、質問に詳細を追加する必要があります。フィールドが 3 文字 (4 - スペース 1 つ) よりも長い場合、どうしたいですか?

しかし、これはあなたが望むものかもしれません:

sprintf("%.4s", "$s1 $s2");

これにより、結合された string が出力"$s1 $s2"され、4 文字に刈り込まれます。もちろん、substr も同じことを行います。これは、より長いフォーマット文字列のコンテキストで役立つ場合があります。

正直なところ、精度指定子 (.その後に数値が続く) を で使用できることを以前は知りませんでした%s

于 2012-10-06T00:06:08.397 に答える