式に文字列リテラルを使う


文字列リテラルは、引用符とそれに続くテキスト、そして最後の引用符です。 エスケープシーケンス 式の作者が文字列リテラル内の文字の衝突を解決するのを助けます。開発者の視点から書かれたこの記事では、式で文字列リテラルを使用する方法について説明します。


実行時に、次の式は文字列に評価されます。 こんにちは世界

Append("Hello", " ", "World")

引用符で囲まれた各文字列は文字列リテラルです。

  • " ;こんにちは" ;
  • ””
  • " ;世界" ;

文字列を完成させるには、式の作成者は通常、開始引用符と終了引用符の間に必要なテキストを入力するだけで済みます。例えば:

"Genesys Cloud"

しかし、もし作者がその値に対して文字列リテラルを作りたいとしたら 彼は言った、「こんにちは」?上記の方法で開始引用符、テキスト、および終了引用符を使って文字列リテラルを作成すると、式は次のようになります。

"He said, "Hi""

望ましいリテラルは 彼は言った、「こんにちは」しかし、文字列リテラルは引用符とそれに続くテキスト、そして最後の引用符です。上記のテキストを見ると、文字列リテラルは実際には " ;彼は言った、 " ; 他のテキストが続きます。ただし、ここでは “Hi” という引用符付きテキストをその文字列リテラルの一部にしようとしています。あいにく、単語の前にある引用符 こんにちは 実際には終了引用符になり、文字列リテラルはそこで終わります。では、テキストを文字列リテラルの一部としてどのように解決すればよいでしょうか。を使用 エスケープシーケンス


上記の例で競合を解決するには、文字列リテラル内の引用符にエスケープシーケンスを適用します。この操作により、Architect の式パーサーはこの引用符を終了引用符ではなく、文字列リテラル内のリテラル引用符として取り扱うように指示されます。Anエスケープシーケンスは円記号( \ \)で識別されます。に適用 彼は言った、「こんにちは」 次のようなリテラル : :

"He said, \"Hi\""

実行時に、Architectはテキストを 彼は言った、「こんにちは」 文字列

今、次の例を考えてみましょう:男性\Female。この例では、文字列リテラルを式内で使用すると次のようになります:

"Male\\Female"


この表は、Architectにエスケープシーケンスがある文字を示しています。

文字 エスケープ シーケンス
クォーテーションマーク (" ;)
バックスラッシュ( \ \) \\
タブ \t
改行 \n
キャリッジリターン \r


次の例は、文字列リテラルでエスケープシーケンスを使用する方法を示しています。

  • 次の文字列を1つの文字列リテラルにします。
  • He said, "I like the 24 hour clock because you don't have to deal with AM \ PM settings"

回答

  • "He said, \"I like the 24 hour clock because you don't have to deal with AM \\ PM settings\""

  • この例には、エスケープシーケンスを必要とするいくつかの文字が含まれています。
  • ""\\.#&."<tab character>"
  • ヒント:引用符から始めて、一度に1文字ずつストリングを調べ、それを必要とする文字に適切なエスケープ・シーケンスを追加し、その後に終了引用符を続けます。
  • <tab character> テキストではなく、実際のタブ文字にしてください。 <tab character>。

回答

  • "\"\"\\\\.#&.\"\t\""