• ベストアンサー

JavaScripの文法について

次のようなコマンドがありますが、 document.write("テストです"); 表示したい文字の中に半角のダブルクォーテーション「"」を含みたいのですが、そのまま入れると正常に動作しませんよね? このような場合はどうしたらよいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.2

エスケープシーケンスを使うようです。 次は、某サイトからの抜粋です。 「文字あるいは文字列の中では、ある種の文字は \n(改行)のようにエスケープ系列で表される。これらの系列は2文字のように見えるが、それが表すのはあくまでも一つの文字である。」(「プログラミング言語C」46頁)  ここで、JavaScript のエスケープシーケンスを列挙すると次のようです。    \b  バックスペース    \f  改頁(フォームフィールド)    \n  改行(ラインフィールド)    \r  復帰(キャリッジリターン)    \t  水平タブ    \'  単一引用符(シングルクォーテーション)    \"  2重引用符(ダブルクォーテーション)    \\  円記号

starship51
質問者

お礼

お礼が遅くなって済みません。ありがとうございます。

その他の回答 (3)

  • smwithdm
  • ベストアンサー率46% (23/49)
回答No.4

\" と入力するもよし、 " と記述するもよしです。 結果的は同じになりますが、俺はいつも"の方で使っています。前に\"にしたときに問題がおきたもんで。 問題が無ければ、これはお好みでしょうね。

starship51
質問者

お礼

お礼が遅くなって済みません。ありがとうございます。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

document.write('明日は"テスト"です');

starship51
質問者

お礼

お礼が遅くなって済みません。ありがとうございます。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

"あいうえお\"かきくけこ"でいかがでしょうか?

starship51
質問者

お礼

お礼が遅くなって済みません。ありがとうございます。

関連するQ&A

  • コマンドプロンプトでのエスケープ文字

    標記の通り、コマンドプロンプト上での エスケープ文字は何を入力すればよいのかで 困っています。 具体的には net use コマンドを利用して共有リソースに 接続しようとしているのですが、 その際に、パスワードに空白文字やダブルクォーテーションが含まれている場合、パスワードを そのままコマンドプロンプト上に打っても 所望の動作になりません。 特殊文字(|&<>等)はエスケープするのだとは思うのですが どの文字でエスケープすればよいのかどうかを 探しだすことができませんでした。 (「ダブルクォーテーションでくくる」や「^」を 前につけるというのはあるのですが、これらを 組み合わせてもパスワードに「 "|<>&」等が含まれている場合には対応できませんでした) どなたかご存知の方、よろしくお願いします。

  • 文字列の置換について。

    ダブルコーテーションで囲まれ文字列が あったとします。 その文字列の中に含まれる半角カンマを なくしたいのですが、 リプレイスだと反応がありません。 その他の文字は置換出来るのですが。 どなたから、ダブルコーテーションに囲まれた 文字列の中の半角カンマを取り除く方法が ありましたらアドバイス下さい。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • Excelに、ダブルクォーテーションで始まる文字列を貼り付けると、ダブルクォーテーションが消えること

    Excelで、ダブルクォーテーションで始まる文字列をセルに貼り付けたときに ダブルクォーテーションが消えるのですが、 Excelってもともと(標凖的な動作として)そういうものですか。 (F2キーを押すなりして)編集状態にして貼り付ければ、ダブルクォーテーションのついたまま貼り付くのですが、 私はセルを選択して貼り付けただけでも大丈夫だと思っていました。 「文字列を貼り付ける」というのは、例えばテキストエディタ上にあるものを手作業でコピーして貼り付ける、ということです。 「ダブルクォーテーションで始まる文字列」と言っても、 ダブルクォーテーションが3つ以上あったときに消えるのは、最初の1組(2つ)ですね。 しかし、 "AAAA"""BBBB のような場合には、なぜか AAAA"BBBB になるのです。 (ちなみに、この文字列を、質問直前の質問内容確認の画面(IE)でコピーしてExcelに貼り付けたときは、違います。) どのような規則に基づいてダブルクォーテーションが消えるのかも疑問です。 このような仕様になっている理由はなんでしょうか。 また、Excelに文字列を貼り付けるという操作を頻繁に行うため、 できれば、編集状態にしなくても、 セルを選択して貼り付けするだけで、そのままダブルクォーテーションも貼り付いてほしいのですが、 そのためにはどうすればよいのでしょうか。 「セルの書式設定」で、表示形式を文字列にすればよいと思ったのですが、だめでした。 セルには文字列を入れるだけで、数式を入れたりしません。 (数式としては扱ってほしくない、という意味です。) Excelは2000です。

  • 正規表現:囲われた文字列の置換

    シングルクオーテーションで囲われた文字列のシングルクオーテーションの前に文字を追加するように、正規表現を用いて置換しようと考えています。 全角文字は[^\x01-\x7E]で検索できるのはわかったのですが、シングルクオーテーションで囲われて、全角文字を含む場合という表現ができません。 下記のような、文字列を対象としています。置換をするのは、全角文字を含む文字列のみです。  全角文字のみ  半角文字のみ  全角半角文字両方 下記ののように置換したいです。 置換前: '全角文字や半角文字','testです','test'.'テスト'.'てすとtest','123' 置換後: A'全角文字や半角文字',A'testです','test'.A'テスト'.A'てすとtest','123' よろしくお願いします。

  • VBAの文字列の中に”(全角のダブルコーテーション)を使う

    VBAのStringの中に”(全角のダブルコーテーション)を使おうとしているのですが、VisualBasicEditorにより自動的に ""(半角のダブルコーテーション2つ)に変換されてしまいます。 Dim str as String str = "abc”def"    ↓ str = "abc""def" 文字列中に全角のダブルコーテーションを使う方法を教えてください。よろしくお願いします。

  • 文字列の ' aaa"bbbccc"ddd' から"で囲まれた部分を抜き出したい

    こんにちは。 タイトルの通りなのですが $test = 'aaa="bbbccc"ddd'; のbbbcccだけを抜き出したいので、 if ($test =~ /aaa=\"(.+)\"/) { $test= $1; } と正規表現を利用して実行してみましたがうまく動作しません。 確定してるのは aaa="この間の文字列"の形で、 aaa=ダブルコーテーション ダブルコーテーション は固定なのです。 そのようにな文字列から特定の個所を抜き出すように実装するには どのようにすればよろしいのでしょうか? どなたかご存知の方、よろしくご教授ください。

    • ベストアンサー
    • Perl
  • シングルコーテーション(')とダブルコーテーション(")の入れ子について

    HTMLにおける、シングルコーテーション(')とダブルコーテーション(")の入れ子について教えてください。 例) document.write('<img src="http://xxxxx" onMouseOver="aaaaaa(#bbbb#)">'); 上記の#の部分は何を使えば良いですか? また、更に入れ子にする場合は、どのような感じになりますか?

    • ベストアンサー
    • HTML
  • 【Win2003Server】コマンドから追加したタスクが起動しない

    Windows 2003 Serverを利用しています。 コマンドからタスクを追加したいため、 次のコマンドを実行しました。 schtasks /create /tn "sample" /tr "C:\Program Files\sample\sample.exe" /sc daily /st 22:00:00 コマンド自体は成功してタスクが追加されたのですが、 実行させたいsample.exeが起動しません。 手動でタスクを追加したときと比べると、 [タスク]の[実行するタスク名]がダブルコーテーションで囲まれているか、 囲まれていないかの違いがありました。 コマンドから追加したほうがダブルコーテーションで囲まれていません。 ダブルコーテーションで囲まれていないために、 半角スペースが含まれるパスにある「sample.exe」を実行できないのだろうと 思うのですが、何か解決策はございませんか? もしご存知でしたら、教えて頂けませんか? ぜひよろしくお願い致します。

  • 上手な文字列の分割方法

    こんばんは、早速ですが質問があります。 Rich Textbox Controlで言語設定をして色付けを行いたいのです。 たとえばVisual Basicの色指定にしたときには、キーワードを青色に、コメント行を緑に、といった色付けになります。 Dim I As Long 'カウンタ変数 [Dim][As][Long]を青色に、['カウンタ変数]を緑色にするような感じです。 上記のような単純なものはよいのですが、 MsgBox "C:\Fallin'Love.mp3" という記述があった時に、シングルクォーテーションが読み込まれ['Love.mp3"]の部分が緑色になってしまいます。 今はダブルクォーテーション内かどうかのフラグを使用してInStr(StartPoint,str,"""){始端と終端の位置を先に求める}で凌いでいますが、どうも汚いソースに見えて仕方がないのです。 しかし、このままではC言語に発展させたときに '"'や'A'、"ABC" が出てきたり、 HTMLでも 'Document.Write(OnClick="JavaScript:History.back")' 等といったシングル/ダブルクォーテーションをそれぞれ文字列の囲いとして使用する書式があるので挫折するのは目に見えています。 DLLやコンソールアプリのコマンドラインでのファイル名指定などではダブルクォーテーション内の半角スペースもうまく処理している(普通の半角スペースはスイッチの区切りとしてみなす)ので、何か良い方法があるのかと思い、質問させていただきました。 何卒、ご教授願います。

  • c言語の文字、また文字列について

    c言語の文字、つまり「'(シングルクオーテーション)」で囲んだ単数の半角文字は、メモリに保存されているのでしょうか。 また、アドレスは有るのでしょうか。 c言語の文字列、つまり「"(ダブルクオーテーション)」で囲んだ複数の文字は、メモリに保存されているのでしょうか。 また、アドレスは有るのでしょうか。