文字列のフォーマット

Python における文字列のフォーマット

Python 2.5 まで(3.xでは廃止)

>>> "%s %s %s" % ('a', 'b', 'c')
'a b c'

Python 2.6 以降(3.xでは推奨)

>>> "{0} {1} {2}".format('a', 'b', 'c')
'a b c'

string モジュールの Template を使う場合

Ver 2.5.2 および 2.6.2 で動作を確認。

>>> import string
>>> t = string.Template('${a}')
>>> t.substitute({'a':'hoge'})
'hoge'

sh (bash) における文字列の埋込

DIR=/usr/local
echo $DIR/bin/
echo ${DIR}/bin/
echo "$DIR/bin/"

実行すると /usr/local/bin/ が3回表示される。

Ruby における文字列の埋込

$ irb
irb(main):001:0> a = 'hoge'
=> "hoge"
irb(main):002:0> puts "hello #{a}"
hello hoge
=> nil

シングルクォートの場合は #{xx} は展開されない。 PHP や Perl と異なり {} は省略できないが、任意の式を書くことができる。

PHP における文字列の埋込

Ubuntu 9.04 で php5-cli を使ってテスト。

$ php -a
Interactive shell
 
php > $a = 'hoge';
php > echo "hello $a";
hello hoge
php > echo "hello ${a}";
hello hoge

シングルクォートの場合は $xx は展開されない。

Perl における文字列の埋込

perl 5.10.0 にて確認。

ワンライナーで。

$ perl -E '$a = "hoge"; print "hello $a\n";'
hello hoge
$ perl -E '$a = "hoge"; print "hello ${a}\n";'
hello hoge

デバッガで。

$ perl -de 1
 
Loading DB routines from perl5db.pl version 1.3
Editor support available.
 
Enter h or `h h' for help, or `man perldebug' for more help.
 
main::(-e:1): 1
  DB<1> $a = "hoge";
 
  DB<2> print "hello ${a}";
hello hoge

シングルクォートの場合は $xx は展開されない。

string_format.txt · 最終更新: 2010/01/12 00:00 (外部編集)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0