1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

小ネタ:ダブルクウォートのエスケープ|Power Query

Last updated at Posted at 2019-12-30

プログラミング界隈では当たり前なのかなと思いましたが、Power Query側での解説を見つけられなかったので、一応書き残しておきます。
要は、ダブルクウォート1個につき1個重ねればエスケープできるようです。

例1

下記のような文字列で、"おじいさん"という文字列と"おばあさん"という文字列の間を取る。
昔々あるところに"おじいさん"と"おばあさん"がいました。

失敗例

Text.BetweenDelimiters(テーブル,""おじいさん"",""おばあさん"")

成功例

・文字列の始まり(終わり)で1個
・本文中のダブルクウォート1個に付き1個増やすので、2個
で計3個でおじいさんなどをくくっています。

Text.BetweenDelimiters(テーブル,"""おじいさん""","""おばあさん""")

例2

同じく、ダブルクウォートが増えた場合で実証。
昔々あるところに""おじいさん""と""おばあさん""がいました。

成功例

なかなか読みづらいですが、
・文字列の始まり(終わり)で1個
・本文中のダブルクウォート1個に付き1個増やすので、2×2=4個
で計5個でおじいさんなどをくくっています。

Text.BetweenDelimiters(テーブル,"""""おじいさん""""","""""おばあさん""""")

おまけ

文字列を合成するようなときも同様です。
アンパサンド後のダブルクウォート4つは、
・文字列の始まりと終わりで2個
・ダブルクウォートとそのエスケープで2個
というわけです。

image.png

厄介なものもパラメータに登録しておくと、エスケープはエディタ側で自動でやってくれるので、楽です。
最初から固定値で書けばいいだけなら、パラメータを使うのがお薦めです。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?