• ベストアンサー

文字列チェック!ある文字からある文字までの値を取得するには?

"http://dailynews.yahoo.co.jp/fc/local/tokyo_metropolitan_government/" という文字列があったとして"/"の右から3番目から4番目の間の文字列(この場合 fc)を取得するにはどうすればいいんでしょうか?教えて下さい

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

  • ベストアンサー
  • shkwta
  • ベストアンサー率52% (966/1825)
回答No.1

Dim j, k As String Dim a, b As Long j = "http://dailynews.yahoo.co.jp/fc/local/tokyo_metropolitan_government/" a = InStr(InStr(InStr(1, j, "/") + 1, j, "/") + 1, j, "/") b = InStr(InStr(InStr(InStr(1, j, "/") + 1, j, "/") + 1, j, "/") + 1, j, "/") k = Mid(j, a + 1, b - a - 1) これでkに"fc"が入ります。Instrは文字列から特定の文字の位置を求める関数です。 「3番目から4番目」の3や4が変数である場合は、 k = Mid(j, x, 1) などとして xを1から len(j)までforで回し、"/"が何字目に出てくるかを記録するといいと思います。

mokukun
質問者

お礼

あざーっす。 一番はやくおしえていただいたので20ポイントあげまっす

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

#3 です。 すみません、質問読み違えました。(^^; × .Pattern = ".+/(.*)/.+/.+/.+/$"    ↓  .Pattern = ".+/.+/(.+)/.+/.+/$" にしてください。 なお、もっとはっきりしているなら、 .Pattern = ".+\.jp/([^/]+)/.*" でもよいわけですね。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

Sub test01() s = "http://dailynews.yahoo.co.jp/fc/local/tokyo_metropolitan_government/" p = Split(s, "/") If UBound(p) > 3 Then n = UBound(p) - 3 MsgBox p(n) Else MsgBox "該当なし" End If End Sub 後方から4番目がないことがありえるときは、Else節文を入れてください。 fcの後の)をつけるならP(n) & ”)”としてください。

mokukun
質問者

お礼

あぁ、やっぱりsplit関数が便利ですね。 ありがとうございまっする。

全文を見る
すると、全ての回答が全文表示されます。
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 まあ、私だったら、こうします。その後にも文字切り出しに使えますからね。通常は、左から数えるかと思いますが、今回は、ご質問どおり、右から数えています。 Sub regTest() Dim objRe As Object Dim Matches As Object Const myUrl As String = "http://dailynews.yahoo.co.jp/fc/local/tokyo_metropolitan_government/" Set objRe = CreateObject("VBScript.RegExp") With objRe  .Pattern = ".+/(.*)/.+/.+/.+/$"  .Global = False  If .Test(myUrl) Then   Debug.Print .Replace(myUrl, "$1")  End If End With Set objRe = Nothing End Sub

mokukun
質問者

お礼

なるほど~。.patternの値がきれいですね。

全文を見る
すると、全ての回答が全文表示されます。
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.2

素直にSplitを使うとどうだろう。 urlmember = Split(http://dailynews.yahoo.co.jp/fc/local/ty.../", "/") For i = 0 To UBound(urlmember) Response.Write i & " = " & urlmember(i) & "<br> Next これは、Splitで「/」を分解した後、それぞれのアイテムを表示するサンプルだ。参考にされたい。

mokukun
質問者

お礼

するする!ありがとう!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 文字列中からある文字列とある文字列の間にある文字列を取得

    表題にあるとおり間の文字列をどうやって取得するべきかと悩んでいます・・ abcdefghijklmn・・・ となっているとき bとe、aとkなど間の間隔が不定なときはどのようにして文字列を取得したらよいのでしょうか? 最初の2文字は与えられているとして考えています。 インターネットのURLで言うなら/から/までの間の文字列と言うことになります。 今私が考えているのは strchrで位置のアドレスを取得してそこからfor文かwhile文で指定の2文字目が出るまでまわすのかなぁ・・と思っています。 ですが具体的にどのような感じに書けばいいのかがわかりません。どなたかご教授ください。

  • 画面から文字列を取得してその文字列の位置を知る方法

    こんばんは。 質問させてください。 画面から文字列を選択して、取得します。(これは出来ました。) その文字列がHTMLソースファイルの どの位置のものか取得する方法はありますでしょうか? ○番目の「こんばんは」を画面から取得した時に 同じ文字列があっても、○番目の位置が取得出来る方法なのですが・・・ ---- <HTML><HEAD></HEAD> <BODY> おはよう、こんばんは。 さようなら、ありがとう。 しつれいしました、おはよう、こんばんは。 こんばんは、さようなら。 さようなら </BODY> </HTML> ----

  • 文字列の取得

    string.subString()のなどで文字列を指定文字数分取得する場合に、バイト数指定で取得する方法ってありますか? 教えてください。

    • ベストアンサー
    • Java
  • 文字数が決まっていないの文字列を自動に取得して別の文字列に変換

    取得して切り出す文字列の長さが固定で無い場合には、どのようにしら良いのでしょうか? 例: ある適当な文字列を分割  ETUROGO → E T U R O G O        の様に一文字ずつ分割  各文字を他の文字列に変換  E→ 2 や T → 電話 のように全文字を  他の文字に変換  この文字列の長さが固定ならば範囲をして変換  する事が出来るのですが、  取得文字列(この場合は、ETUROGO)の長さが  3文字~20文字程度で決まっていない場合  どのようにしたら自動で変換されるのでしょうか?  LEN関数で文字数を取得  LEFT関数やMID関数等で文字列を切り出す。  という事までは考えたのですが。  文字数が変化してしまうとやり方が分かりません。  また、上記の場合は英文字なのですが同様に  文字列の長さが固定ではなく(4文字~20文字の間)  ”東京携帯配備” を ”東京” ”携帯” ”配備”  のように単語で分割し同様に他の文字列に変換  するという場合は、少し異なるのだと思うのですが  INDEX関数等を使えば良いのかな?  とも思うのですが過去の例を見ても理解出来ません。    どうかお教え願います。宜しくお願い致します。

  • 正規表現でURLから任意の文字列取得

    文字列 http://dailynews.yahoo.co.jp/fc/ の http://dailynews.yahoo.co.jp を削除する正規表現を試行中です。 はじめたばかりでスキルが乏しいのですが、 アドバイスいただきたくよろしくお願いします・

  • javascriptでtextareaの文字列を取得したいです。

    javascriptでtextareaの文字列を取得したいです。 textareaで入力された文字列から半角括弧でくくられた文字列を、半角括弧付きで取得したいです。 例 あいうえお かき(くけ)こ さしすせそ この場合、(くけ)が取得したい文字列です。 正規表現を使えば取得できそうなのですが、 詳しく分からないので教えてください。 よろしくお願いいたします。

  • javascriptでサイトの文字列の取得方法

    今javascriptをやっていて別フレームのサイトから文字列を取得できないか試しています プログラムの参考にしたサイトは、ここ http://fayn.s59.xrea.com/x/tips/javascript/js1.php なんですが、右フレームと左フレームがあって、右には文字があり、左にはボタンがあります。 右で文字を適当にドラッグして選択しておきます、そのまま、左にあるボタンをクリックすると選択した文字列を取得できるという仕組みです。 これを右フレームの内容をサンプルではなく、一般的なwikipediaとかにすると、文字列の取得が出来なくなってしまうのです。 これはプログラム上制限されているのでしょうか?それとも出来る方法はあるのでしょうか もし、お分かりになるのであるならば教えて欲しいです よろしくお願いします

  • 文字列を取り出す。

    文字列で一行の中に ********* ******** *********** ********* のように間に空白の入っている文字列が あるのですが、 これの2番目をとってくるようにしたのですが、 良い方法が思い浮かびません。 Stringクラスのメソッドを見ているのですが、、、 お願いします。

    • ベストアンサー
    • Java
  • 文字列取得

    '/path1/path2/file1.txt' '/path1/path2/path3/file2.txt' 上記のようなpathがあった場合にファイル名(拡張子なし)の 文字列を取得したいのですがどのように良いでしょうか? 宜しくお願い致します。 awkで$4と指定すれば「file1.txt」の文字列を取得できるのですが パスの長さが定まっていないため$4ではなく最後の文字と指定する 記号はないでしょうか? echo /path1/path2/file1.txt |awk '{FS="/"; print $4}'

  • シェルの文字列取得について

    シェル(Bash)の文字列取得についてご教授ください。 文字列:  test(12345) 上記の文字列から"12345"(括弧内の数値部分)を取り出し、変数へ格納する場合、どのように行えばよいのでしょうか? ちなみに1桁だったり2けただったりと数値の桁は変動します。 よろしくお願いします。

このQ&Aのポイント
  • スピーカーが潰れているため付け替えたいが、何Ωかわからない
  • 質問者が困っているのは、スピーカーのΩ数がわからないために付け替えができないということです
  • この質問は電子楽器メーカーローランド製品やボス製品のスピーカーについてのものです
回答を見る