Javascriptで文字列から、任意の文字を抽出したい。
下記のような、グーグルストリートビューの貼り付けコードがあります。
「htp://maps.google.co.jp/maps?f=q&hl=ja&ie=UTF8&om=1&layer=c&ll=35.659406,139.744742
&spn=0,0.019205&z=16&brcurrent=3,0x60188bbd9a93fb75:0x34e0de0018b3269,1
&cbll=35.659362,139.744854&panoid=-o46OC9WbmlXHKjOyLWB8Q
&cbp=12,159.95,,0,-38.84」
※先頭のhttpは、htpにしてあります。
この文字列の中から、
35.659362(2番目に出てくる北緯)
139.744854(2番目に出てくる東経)
159.95
-38.84
の、4つの部分の数字をそれぞれ抽出したいのですが、
Javascriptで可能でしょうか。
各数値の桁数は変わる場合があります。
宜しく、お願いします。
No.1
- 回答日時:
よくわかってないけれど・・・
locationから取得するということでよいのかしら?
パラメータの構造を把握していませんが、「cbll」と「cbp」をkeyにしてあとは順番でよいのなら、こんな感じ?
(locationからでない場合は、代わりに初期値として代入)
var i = 0, p, tmp, data = [];
var key1 = "cbll", key2 = "cbp"; // keycode
var srch = location.search.slice(1).split("&");
while (p = srch[i++]) {
p = p.split("=");
if (p[0] == key1 || p[0] == key2) {
tmp = p[1].split(",");
if (p[0] == key1) {
data[0] = tmp[0], data[1] = tmp[1];
} else {
data[2] = tmp[1], data[3] = tmp[4];
}
}
}
alert(data.toString());
No.2
- 回答日時:
張り付ける前ですよね、
これで↓
<script type="text/javascript">
<!--
var cbll={lat:"",lng:""};
var cbp={lat:"",lng:""};
var str="htp://maps.google.co.jp/maps?f=q&hl=ja&ie=UTF8&om=1&layer=c&ll=35.659406,139.744742&spn=0,0.019205&z=16&brcurrent=3,0x60188bbd9a93fb75:0x34e0de0018b3269,1&cbll=35.659362,139.744854&panoid=-o46OC9WbmlXHKjOyLWB8Q&cbp=12,159.95,,0,-38.84";
var parm = str.split("&");
for(var i=0;i<parm.length;i++){
if(parm[i].split("=")[0]=="cbll"){
cbll.lat=parm[i].split("=")[1].split(",")[0];
cbll.lng=parm[i].split("=")[1].split(",")[1];
}
if(parm[i].split("=")[0]=="cbp"){
cbp.lat=parm[i].split("=")[1].split(",")[4];
cbp.lng=parm[i].split("=")[1].split(",")[1];
}
}
alert(cbll.lat);
alert(cbll.lng);
alert(cbp.lat);
alert(cbp.lng);
// -->
</script>
No.3ベストアンサー
- 回答日時:
はりつけるまえですよね、その2
ぜんかくくうはくは、はんかくにしてね。
var getQuery = function (querys) {
var result = { };
var i = 0
var query;
var nv;
querys = querys.split ('&');
while ((query = querys[i++])) {
nv = query.split ('=');
result[ decodeURIComponent (nv[0]) ] = decodeURIComponent (nv[1]);
}
return result;
};
var locationSplit = function (url) {
return /^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/.exec(url);
};
var str =
'htp://maps.google.co.jp/maps?f=q&hl=ja&ie=UTF8&om=1&layer=c&ll=35.659406,139.744742' +
'&spn=0,0.019205&z=16&brcurrent=3,0x60188bbd9a93fb75:0x34e0de0018b3269,1' +
'&cbll=35.659362,139.744854&panoid=-o46OC9WbmlXHKjOyLWB8Q' +
'&cbp=12,159.95,,0,-38.84';
var val = getQuery (locationSplit (str)[6]);
var cbll = val.cbll.split(',');
var cbp = val.cbp.split(',');
alert ([cbll[0], cbll[1], cbp[1], cbp[4]]);
No.4
- 回答日時:
GitHub にサンプルコードをおきました。
gist: 605899 - GitHub
http://gist.github.com/605899
var uri = 'htp://maps.google.co.jp/maps?f=q&hl=ja&ie=UTF8&om=1&layer=c&ll=35.659406,139.744742&spn=0,0.019205&z=16&brcurrent=3,0x60188bbd9a93fb75:0x34e0de0018b3269,1&cbll=35.659362,139.744854&panoid=-o46OC9WbmlXHKjOyLWB8Q&cbp=12,159.95,,0,-38.84';
var querys = getQuerys(uri);
var targets = querys['ll'].split(',');
alert(targets[0]); // 35.659406
alert(targets[1]); // 139.744742
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Java Java 南京錠 2 2023/02/04 11:46
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP カラーミーショップのSmartyでの文字列抜き出し 2 2022/05/06 11:51
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Excel(エクセル) LEFT関数で文字数を指定しないで取りだす方法 7 2023/06/30 09:49
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryのload()を使用して外部...
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
Javaで避けるゲームを作ってい...
-
【JavaScript】数当てゲームを...
-
C#で、ContextMenuStripに動的...
-
javaScript textareaの一行あた...
-
翌月を取得するGASが分かりません
-
ASP.NETのコントロールの値をJa...
-
javascriptにお詳しい方に質問...
-
商品コードを入力で、商品名、...
-
JavaScriptで決まった「時刻」...
-
ホームページの最終更新日を他...
-
C# 演算 奇数と偶数 表現の仕方
-
特定のclassを表示、非表示にする
-
なぜmatchメソッドがエラーにな...
-
javascriptでカウントダウンタ...
-
ASP.NET MVCでObjectをjsに渡す
-
idを使わずにonclickで自身の要...
-
Linux バイナリ実行できない "...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
google apps scriptの終了のさせ方
-
C#OpenCv V4にのエラーに関する...
-
メールフォームの日付入力フォ...
-
GASでundefinedエラーが出ます
-
ジェネレーターの作り方
-
GASでGoogleフォームの自動返信...
-
なぜmatchメソッドがエラーにな...
-
翌月を取得するGASが分かりません
-
ローカルにあるファイルを検索...
-
HTMLで作った時報アプリが動き...
-
ASP.NETのコントロールの値をJa...
-
C# 演算 奇数と偶数 表現の仕方
-
html javascript リンク先アド...
-
gas スプレッドシートがアクテ...
-
javascriptでテーブルに追加し...
-
VSCODE[Python]の設定について
-
JavaScriptで決まった「時刻」...
-
ASP.NET MVCでObjectをjsに渡す
-
イベントが初めの一回しか起き...
-
jqGridについて
おすすめ情報