Home » 電子書籍 » VBAユーザーのためのPython超入門 » Pythonでは改行を含む文字列がVBAより簡単ー三重引用符・トリプルクォート

Pythonでは改行を含む文字列がVBAより簡単ー三重引用符・トリプルクォート

動作検証バージョン:Windows 10 Pro(64-bit)+ Python 3.8.3(32-bit)

拙著『VBAユーザーのためのPython超入門』は、VBAを使ったことのある方を対象に、Pythonの基本の基本だけをお伝えすることを目的としています。

そのため、ページ数をできるだけ減らし、価格もできるだけ抑えることを心掛けました。こちらのレビューに書いていただいたとおり、(実習を後回しにした場合)2時間以内で読めるボリュームを目標にしていました。

映画ならば、長いなぁとは感じないくらいの時間で、読めるイメージです。

三重引用符・トリプルクォートは拙著で削除

そのため、削った項目もたくさんあります。

VBAより便利に感じてもらえそうな項目は、削除するのをかなり迷いました。そのような躊躇しつつ削除した項目のひとつが、三重引用符・トリプルクォートを使った文字列です。

三重引用符・トリプルクォートを使った文字列とは、シングルクォーテーション「'」を3つまたはダブルクォーテーション「"」を3つで括った文字列です。

シングルクォーテーション「'」による三重引用符・トリプルクォート「'''」は、以下のように使えます。

>>> msg = '''abcde'''
>>> print(msg)
abcde

ダブルクォーテーション「"」による三重引用符・トリプルクォート「"""」も、同じように以下のとおり使えます。

>>> msg = """abcde"""
>>> print(msg)
abcde

三重引用符・トリプルクォートを使えば改行を含む文字列が簡単

こういった三重引用符・トリプルクォートを使うと、改行を含む文字列を簡単に作れます。

VBAで改行を含む文字列を作るには

VBAで改行を含む文字列を作るには、定数等を演算子「&」を使って連結します。

msg = "一行目" & vbNewLine & "二行目"

以上のように代入したmsgを、イミディエイトウィンドウに出力すると、以下のようになります。

? msg
一行目
二行目

Pythonでは三重引用符・トリプルクォートを使えば簡単

Pythonの場合「\n」を使った方法が可能ですが、三重引用符・トリプルクォートを使うと、入力したときの改行をそのまま代入できます。

>>> msg = '''一行目
二行目'''

と変数msgに代入しておいて、printすると以下のように代入したときと同じように改行されます。

>>> print(msg)
一行目
二行目

最初と最後の改行を削除するには

これがわかると、
>>> msg = '''
一行目
二行目
'''

のように代入したくなります。

この場合「一行目」の前と、「二行目」の後ろに改行が入った状態でmsgに代入され、printすると以下のように出力されます。

>>> print(msg)

一行目
二行目

>>>

「一行目」の前と、「二行目」の後ろに改行が入った状態で出力されています。

str.stripメソッド

この最初と最後の改行を削除した状態でprintするには、str.stripメソッドを使うのが便利です。

>>> print(msg.strip())
一行目
二行目
>>>

「\」で改行をエスケープする

トリプルクォートを使った文字列の代入時にエスケープ文字「\」を使って、先頭と最後の改行を含まないように代入する方法もあります。

>>> msg = '''\
一行目
二行目\
'''

以上のように、最初の改行の前と、最後の改行の前に「\」を入れておくと、以下のように出力できます。

>>> print(msg)
一行目
二行目
>>>

……といった内容を『VBAユーザーのためのPython超入門』で、当初は入れる予定でいたのですが、ボリュームを抑えるために最終的に削除しました。

最終更新日時:2020-07-25 15:35

[スポンサードリンク]

Home » 電子書籍 » VBAユーザーのためのPython超入門 » Pythonでは改行を含む文字列がVBAより簡単ー三重引用符・トリプルクォート

TrackBack:0

TrackBack URL

Home » 電子書籍 » VBAユーザーのためのPython超入門 » Pythonでは改行を含む文字列がVBAより簡単ー三重引用符・トリプルクォート

「VBAユーザーのためのPython超入門」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.