• 締切済み

変数にダブルクォートがあたらダブルクォートを二つ重ねる

ある変数の中身が「カルテに"記載"あり」のように、ダブルクォートが含む場合、ダブルクォートを二つ重ねたいです。 例1 変換前「カルテに"記載"あり」 変換後「カルテに""記載""あり」 例2 変換前「"カルテに記載あり"」 変換後「""カルテに記載あり""」 ご教授願います。

みんなの回答

  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.2

http://www.red.oit-net.jp/tatsuya/vb/string.htm#Replace 自分は、大抵はreplaceで対応してますが。。。 replaceで問題があるのなら、 Instrやら、SplitやらLeftやらRight使って、無理矢理置き換えてますが。。。

ymmthrs
質問者

お礼

即解決しました。ありがとうございます。

  • tom11
  • ベストアンサー率53% (134/251)
回答No.1

こんにちは、 今ひとつ、意味解りませんが、以下のようなことですか。 Dim s1 As String Dim s2 As String Dim s3 As String Dim s4 As String s1 = "カルテに""記載""あり" s2 = "カルテに""""記載""""あり" s3 = """カルテに記載あり""" s4 = """""カルテに記載あり""""" Debug.Print s1 Debug.Print s2 Debug.Print s3 Debug.Print s4 出力結果 カルテに"記載"あり カルテに""記載""あり "カルテに記載あり" ""カルテに記載あり""

関連するQ&A

  • ダブルクォート内で変数を展開

    PHPでMySQLのINSERTがうまくいかず、困っています。 検索したところ、下記の情報がありました。 http://okwave.jp/qa1324983.html ここの良回答20ptの通りすると動きますが、 ダブルクォート内で変数を展開させるにはどうしたらいいでしょうか?。 ↓これをダブルクォート内で変数を展開させたい mysql_query("insert into area_tbl (area)values('$area')"); よろしくお願いします。

    • ベストアンサー
    • PHP
  • シングルクォート、ダブルクォート使用方法

    初心者で勉強中です。 相当素人な質問なんですがよろしくお願いします。 Perlで使われる、シングル、ダブルクォートの自分の認識なのですが ・ダブルクォートは変数やエスケープ文字を評価してくれる。 ・シングルはそのまま文字列として出力される。 ということだと思っているのですがただ、『print』の後の表示させる文字列、数字などがシングルで囲まれていたりダブルだったり、またどちらも使わない場合などあるのですがこの使い分けはどのようにすれば良いかわかりません。 単に文字列の場合でもダブルクォートで囲っていたりと・・・ 以下の例ですと use strict; print "Content-type: text/html\n\n"; my $hensu = 1; print $hensu."<br>\n"; $hensu = "moji"; print "$hensu"; 上記をブラウザ出力すると 1 moji となるということなのですが、数字であればダブルクォートで囲まなくても展開されるということでしょうか?また後ろの2行の $hensu = "moji"; print "$hensu"; とは、どちらもダブルクォートで囲む必要があるのでしょうか。 法則性についてどなたか分かるかた、おしえていだだけますでしょうか。

    • ベストアンサー
    • Perl
  • ダブルクォート、シングルクォート、\について

    こんにちは。 PHPでメールフォームを作ったのですが、2つ問題点があります。 1.テキストフィールドにダブルクォートで文字を囲んで送信すると入力された情報が返されず、何も入力されていないメールが送られてきます。 2.シングルクォート、\をいれると前に\がついてしまいます。(こんなカンジ→\'\\)フォームはHTMLで作成しています。確認画面のフォームにstripcslashes($_POST[name])をかけておりブラウザ上だとシングルクォートと\は除去されているのですが、メールだと除去されてません。 ダブルクォート、シングルクォート、\が付いた文字列をPHP・HTMLにどのように記述すれば、メールにきちんと送られるようになるのでしょうか?

    • 締切済み
    • PHP
  • ダブルクォートで囲まれたCSVファイルについて

    CSVを読みこんで配列変換するロジックを考えていますがうまくいきません。 ソースは以下の通りです。 Dim objFs Dim objSm Dim strLine Dim arySplit Set objFs = CreateObject("Scripting.FileSystemObject") Set objSm = objFs.OpenTextFile(C:\sample.csv, 1) Do Until objSm.AtEndOfStream strLine = objSm.ReadLine strLine = Right(strLine, Len(strLine) - 1) strLine = Left(strLine, Len(strLine) - 1) arySplit = Split(strLine, "\"\",\"\"") MsgBox UBound(arySplit) Loop Set objSm = Nothing Set objFs = Nothing ※読み込むCSVファイルはダブルクォートが付いています。 ※正常に配列に変換できたかを確認する為、MsgBoxで配列の要素数を表示しようとしています。 やりたい事は 1.まずは先頭と最後のダブルクォートを除外。 2.区切り文字(\",\")で配列に変換。  ※なぜカンマで配列に変換しないかというとダブルクォートで囲まれた値の中にカンマ文字がある為、このような事をしています。 3.変数に変換した配列を格納。 申し訳ありませんがご教授いただけませんでしょうか。 またどうか皆さんのお知恵を私にお貸しいただけませんでしょうか。 何卒、宜しくお願い致します。

  • perlのシングルクォートとダブルクォートの置き換えについて

    perlのシングルクォートとダブルクォートの置き換えについて お世話になります。 現在、perlにて開発を行っているのですが、一つ問題に当たってしまいました。問題になっているのは、文字列を扱う部分です。perlにおいて文字列はシングルクォートに囲まれたものと、ダブルクォートに囲まれたものがあると思うのですが、この両者の違いは、内部に書かれた変数等を展開するか否かだったと思います。 実は開発の途中でこのシングルクォートで囲まれた文字列を、ダブルクォートに囲まれた文字列に変更しなければいけなくなりました。つまり $test = 'aaa';  を  $test = "aaa"; としたいのです。これってperlの仕様的に可能なのでしょうか? かなり悩んだのですが、どうしてもわかりませんでした。 ちなみに、なぜこの処理が必要なのかというと、HPの製作をしているのですが、設置したフォームからその内容を得るというプログラムを書いた際に、そのフォームの内容がシングルクォートでしか得られないからです。シングルだとそののちの処理に影響が出てしまうのです。 だれかご存じないでしょうか。よろしくおねがいします。

    • ベストアンサー
    • Perl
  • 文字列からダブルクオートの削除

    お世話になります、 CSVからデータを取得してDBに書き込む処理を行っているのですが、CSVデータで型が文字のものはダブルクオート(")でくくっています。 (例) "りんご",100,"円" "ばなな",200,"ドル" このままデータをStringTokenizerクラスを使用して取得した場合りんごは("りんご")のようにダブルクオートがついた状態で取得されてしまいます。 ダブルクオートを取り外す方法またはメソッドを教えていただきたいのですが、よろしくお願いします。

    • ベストアンサー
    • Java
  • 正規表現ereg_replaceで、ダブルクオートの中身をカットしたい

    AAA"BBBBBB"CCCCCEF KKK"ABBCBBCKE"DDDDDEFG といった文字列があるのですが、これを AAACCCCCEF KKKDDDDDEFG この様に、"~"の中身をダブルクオートも含め全てカットしたい場合、ereg_replaceを使った方法を教えて下さい。 $str = ereg_replace("\"","",$str); だと当然ダブルクオートの中身までは外れてくれないので…。

    • ベストアンサー
    • PHP
  • ダブルクォートで囲まれた文字列の取り出し

    Windows環境でRuby 1.8.7を使用しております。 ----sample1.txt----- hoge"foo\"bar\"foo"hage"bar\"baz\"bar"hoge ------------------ ファイルから1行ずつテキストを読み込んで処理を行います。上のsample.txtの様な行を読み込んだ場合にダブルクォートで囲まれた部分 foo\"bar\"foo bar\"baz\"bar を取り出すのにはどの様な正規表現を用いればよろしいでしょうか? エスケープされたダブルクォートを除ける上手い方法がわかりません。 また、ダブルクォートで囲まれた部分が複数行にまたがる場合はどの様に処理をすれば良いでしょうか? -----sample2.txt----- hoge"foo \"bar\" baz" hage ---------------------- -----sample3.txt----- hoge"foo \"ba r\"baz" hage ---------------------- 最初の例のように1行の場合は File.foreach(file) do | line | …… end で良いのですが、複数行の場合には同じように単純には行きません。 ダブルクォートの数を数えて、奇数の場合は偶数になるまで次行をくっつける様な処理を考えているのですが、もっと適切な方法はありますか? 宜しくお願いします。

  • parse_ini_fileでダブルクォートを含む値

    parse_ini_fileで読取る設定ファイルでは、 ダブルクォートを含む値を用いることはできないのでしょうか。 ダブルクォートを含んだ値を記述したかったのですが、 設定ファイルのパースエラーになるか、途中で値が切れてしまいました。 以下を試しました。 (PHP 5.0.4 です。) <テストコード> <?php print_r(parse_ini_file("test.ini")); ?> <設定ファイル test.ini の内容> (ダブルクォートを含む) key=val"ue --> 値がvalになる (ダブルクォートをエスケープ) key=val\"ue -->値がval\になる (全体をダブルクォートで囲んで中のダブルクォートをエスケープ) key="val\"ue" -->値がval\になる (全体をダブルクォートで囲んで中のダブルクォートを二連化) key="val""ue" -->パースエラーが発生し、値がvalになる (全体をシングルクォートで囲む) key='val"ue' -->値が'valになる マニュアルで以下の文が気になったのですが・・。 ( http://jp.php.net/manual/ja/function.parse-ini-file.php ) ----- 引用 ここから ----- 次の文字 {}|&~![()" は、キーで使ってはいけません。 また、値の中で特別な意味を持ちます。 ----- 引用 ここまで ----- ダブルクォートが「値の中で特別な意味」を持つ文字として 指定されていますが、具体的にどのような意味を持つのか分かりませんでした。 ですが、キーとしては禁止されているものの、値に含まれる文字としては禁止されていないようだったので・・。 どなたか詳しい情報ご存知の方いましたらご教授ください。

    • ベストアンサー
    • PHP
  • DOSコマンドのダブルクォーテーションの扱い

    DOSコマンドでダブルクォーテーションを検索し、 リダイレクションをすることが出来なくて困っています。 例えば findstr "\"!" a.txt は出来ますが findstr "\"!" a.txt >b.txt とするとリダイレクションが出来ません。 grepも同じようです。 またunixコマンドではシングルクオートは、「囲まれた中身をそのままの文字として利用」し、ダブルクオートは、「囲まれた中身に$HOME など $ で始まる文字列があれば、 それを環境変数、シェル変数といった、値に置き換えてから、利用する」という明確な違いがありますが、DOSコマンドでは明確な違いはあるのでしょうか? unixのshellをDOSコマンドに移植しています。 DOSコマンドの参考Webもあまり見つからなくて困っています。 もし参考になりそうなWeb等ありましたら教えてください。

専門家に質問してみよう