- ベストアンサー
変数内の文字列にある最後の「"」位置を調べたい。
変数myStrに格納されている文字列に幾つか含まれる文字「"」のうち、最後の「"」が文字列の何文字目に有るか出したいです。 InStr(1,myStr,""") 普通にInstrを使うと最初の文字位置を返してきます。 また「"」は"""になってしまいます。
- popuran121
- お礼率76% (83/109)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
そのような場合InStrRev関数を使用するとよいでしょう Sub Macro1() Const wk As String = "ascdfagr" MsgBox InStr(wk, "a") MsgBox InStrRev(wk, "a") End Sub 試しに上のマクロを実行してみてください。 「a」を先頭から探した場合と、最後から探した場合に「先頭から何文字目に出現するか」を返します
関連するQ&A
- 文字列のなかの最後の文字
宣言した変数にファイルのパスが格納されています。 例: FileName = "C:\My Documents\test\test.txt" この文字列から "test.txt"のみを取り出したいのですが、どうしたら良いのでしょうか? 文字列の一番最後の"\"の位置番号を取得して、次の文字からMIDを使えばいいのかなと思ったのですが、"\"の位置を取得する方法すらわかりません。 もし上記の方法で無理なら代替方法でも構いません。 ちなみにこのパスは毎回違うパスが入ってきます。 よろしくお願いします。
- ベストアンサー
- Visual Basic
- 実行時エラー 14 文字列領域が不足しています。
一度変数に格納した値を置換しようとしたら、 実行時エラー 14 文字列領域が不足しています。 となりました。 変数は、String型で宣言しています。 myStr = rs("回答文") myStr = Replace(myStr, Chr(10), "") のように、一度myStrに格納した変数の格納を取ろうと思い、 Replaceで置換しようとすると、エラーが発生します。 myStr = rs("回答文") で myStrに格納できた時点で、容量は足りているはずだし、 Replace(myStr, Chr(10), "")で置換することによって、更に容量を減らしているのに なぜエラーになるのでしょうか? アクセスvbaです。
- ベストアンサー
- オフィス系ソフト
- 変数に入れた文字列をindexOfで解釈したい
すみません、質問したいと思います。 自身のURLを参照して、それを変数に格納し、その文字列中にある #の位置をindex.Ofで解釈したいと思います。 なので、以下のようなjavaScriptを書いたのですが、うまくいきません。 なぜでしょう、よければ教えてください。 <script language=javascript> var loc = this.window.location; var sharp_pos = loc.indexOf("#");//#がなければ-1を返す document.write(loc); </script> 以上のものを実行したら、URL中の#の位置がブラウザ上で数字で 確認できると思ってたのですが・・・。 javascriptって、変数に格納した文字列は解釈できないのでしたっけ? perlだったら出来てたような気がしますが・・。 本を見たら、直接文字列をいじっているサンプルしかありませんでした。 "abcde".indexOf("c"); ⇒2を返す よろしくお願いします。
- ベストアンサー
- JavaScript
- 文字列検索で
よろしくお願いします。 文字列検索instr関数で、特定文字(スペース)でない文字を検索したいのですが、どのようにしたらいいですか? instr関数では、できないのでしょうか? たとえば、 文字列" osietegoo " → 3 文字列" situmon" → 7 スペースでない文字が出現する位置を知りたいです。 instr(文字列,"o")ではなく、" "ではない、、、としたいのですが、できますか?
- ベストアンサー
- Visual Basic
- ある文字列で2回目3回目に出現するtabの位置を得るには?
vbs初心者です。 ある文字列で2回目3回目に出現するtabの位置を得るにはどうすればよろしいのでしょうか? instrだと指定位置から最初にHITする位置しか得られないようなのですが、どなたかご教授願います。
- ベストアンサー
- その他(プログラミング・開発)
- エクセルVBAで特定文字列の個数を高速に調べたい
文字列の入っている変数内で特定の文字列(今回はvbCrLf)が何個発生しているかを、高速に調べたいのですが、どのような方法があるでしょうか? 現在以下のことをやっています。 数千件のテキストファイルから特定文字列を検索しています。 検索を高速化するために、テキストファイルをバイナリーモードで1つの変数に読み込み、instr関数で検索しています。 見つかった場合、その位置から前にあるvbCrLfをInStrRev関数で、後ろにあるvbCrLfをinstr関数で位置を調べ、元の変数からmid関数で該当ラインを取り出しています。 検索はこれで可能ですが、特定文字列を調べたinstr関数の戻り値がテキストファイルの先頭からの位置(何桁目)なので、検索した文字列が何行目にあるか分かりません。 変数の検索文字が見つかった位置までの部分でvbCrLfが何個発生しているかが分かれば行数が判定できます。 vbCrLfを調べるinstr関数を何回も繰り返せば行数の判定は可能ですが、もっと高速に(一つの関数・命令で)調べることはできないでしょうか? また他に行数を特定する良い方法があったら教えてください。 よろしくお願い申し上げます。
- ベストアンサー
- オフィス系ソフト
- 文字列(任意のURL)から、最後のファイルを削除し
変数に、下記のような文字列(任意のURL)が格納されているとき、 http://www8.ghk.or.jp/nrws/hgml/20120924/k15515034581000.html 以下の文字列を取り出すにはどうすればよいでしょうか? http://www8.ghk.or.jp/nrws/hgml/20120924/ 欲しいのは、最後のファイルを削除した部分です。 (右から数えて、最初の/より右を削除)した文字列を取得したいです
- ベストアンサー
- PHP
- エクセル 文字の振り分け
すみません、教えて頂けますでしょうか。 VBAまたは関数で、1つのセル内にある文字を抽出して、 4つのセルにそれぞれ振り分けたいのですが、 RIGHT、MID、LEFT、FINDを組合せてもうまくできなくて困っています。 例えば1つのセルに、 A1 名前 :松下 小太郎(マツシタ コタロウ) A2 名前 :山田 佐吉(ヤマダ サキチ) のように入っていた場合に、別シート・同一シートのどちらでも良いので、 姓 名 フリ姓 フリ名 B1 松下 C1 小太郎 D1 マツシタ E1 コタロウ B2 山田 C2 佐吉 D2 ヤマダ E2 サキチ としたいのですが、松下小太郎が松下まで取り出せても、 名前の長さが変わると、 B2山田 佐 C2 吉 ヤ のようになったりしてしまいます。 VBAでは、 '購入者『姓』 '入力シート“購入者名”の値を変数に格納 myStr = Worksheets("入力シート").Range("B9").Value '変数から":"を検索して、右側を抜出して格納し直す myStr = Right(myStr, Len(myStr) - InStr(1, myStr, ":")) :のところまで左を削る myStr = LEFT(myStr, Len(myStr) - InStr(1, myStr, " ")) 左からスペースまで削る myStr = LEFT(myStr, Len(myStr) - InStr(1, myStr, " ")-1) ・・・・ のようにmyStrに入れた変数を再度削るという風に考えて やってみたのですが、できませんでした。 (上記コードはざっくりとこんな感じにしましたという イメージで書きましたので合っていません。) みなさま、お忙しい最中と思いますが、 何卒お力添えを頂けませんでしょうか? よろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- 各変数に何文字格納できるのでしょうか?
Dim myStr As Variant と Dim myStr As String では、 それぞれmyStrには何文字格納できるのでしょうか?
- ベストアンサー
- その他MS Office製品
- 変数に格納している文字列の読み込み
ある変数($text)にHTMLデータが格納されています。 その変数内の文字列を、1行ずつ読み込む方法はあるのでしょうか。 $textをファイルに変換して読み込むべきでしょうか。 ぞ存知の方、ご教授をお願いします。
- ベストアンサー
- PHP
お礼
リバースで検索する関数も有るんですね。 これで最後の位置は出せます。 あとは「"」文字を InStrRev(myStr, """)と入れるとエラーになる点です。