背景
Javascript歴: 2時間
やろうとしたこと
webページの文字列(以下のようなもの)から数値だけ抜き出したい。
[{"rendered_body":"<p>http.getを使う例へのリンク</p>\n\n<p><a href=\"http://jsfiddle.net/jsengel/t3kcwc7y/\" class=\"autolink\">http://jsfiddle.net/jsengel/t3kcwc7y/</a></p>\n\n<p>学習事項</p>\n\n<ul>\n<li>$scope.</li>\n<li>$http.get()</li>\n<li>.then()</li>\n<li>.success()</li>\n<li>.error()</li>\n</ul>\n\n<p>内容を理解せずに data を代入しないこと。(大量データに対して)ブラウザが固まる現象に遭遇したので。</p>\n","body":"http.getを使う例へのリンク\n\nhttp://jsfiddle.net/jsengel/t3kcwc7y/\n\n\n学習事項\n\n- $scope.\n- $http.get()\n- .then()\n- .success()\n- .error()\n\n内容を理解せずに data を代入しないこと。(大量データに対して)ブラウザが固まる現象に遭遇したので。\n\n\n","coediting":false,"created_at":"2016-03-21T07:39:21+09:00","id":"a6b340097e34b6ea9d2f","private":false,"tags":[{"name":"link","versions":[]},{"name":"AngularJS","versions":[]},{"name":"jsFiddle","versions":[]}],"title":"jsFiddle / AngularJS > Link > http example","updated_at":"2016-03-21T07:39:21+09:00","url":"http://qiita.com/7of9/items/a6b340097e34b6ea9d2f","user":{"description":"セブンオブナインです。\r\nUnimatrix 01の第三付属物 9の7という識別番号です。Star trek Voyagerの好きなキャラクターです。\r\n\r\nまとめ記事は後日タイトルから内容がわからなくなるため、title検索で見つかるよう個々の記事にしてます。\r\n\r\nいわゆるBorg集合体の有名なセリフから「お前たち(の知識)を吸収する。抵抗は無意味だ」。Thanks in advance.","facebook_id":"","followees_count":30,"followers_count":55,"github_log
code v0.1
<div ng-controller="MyCtrl">
Hello, {{name1}}
</div>
var myApp = angular.module('myApp',[]);
function MyCtrl($scope, $http) {
// $http.get('https://qiita.com/api/v2/items?page=1&per_page=1').success(function(data, status, headers, config) {
// });
// test data
data = '[{"rendered_body":"<p>http.getを使う例へのリンク</p>\n\n<p><a href=\"http://jsfiddle.net/jsengel/t3kcwc7y/\" class=\"autolink\">http://jsfiddle.net/jsengel/t3kcwc7y/</a></p>\n\n<p>学習事項</p>\n\n<ul>\n<li>$scope.</li>\n<li>$http.get()</li>\n<li>.then()</li>\n<li>.success()</li>\n<li>.error()</li>\n</ul>\n\n<p>内容を理解せずに data を代入しないこと。(大量データに対して)ブラウザが固まる現象に遭遇したので。</p>\n","body":"http.getを使う例へのリンク\n\nhttp://jsfiddle.net/jsengel/t3kcwc7y/\n\n\n学習事項\n\n- $scope.\n- $http.get()\n- .then()\n- .success()\n- .error()\n\n内容を理解せずに data を代入しないこと。(大量データに対して)ブラウザが固まる現象に遭遇したので。\n\n\n","coediting":false,"created_at":"2016-03-21T07:39:21+09:00","id":"a6b340097e34b6ea9d2f","private":false,"tags":[{"name":"link","versions":[]},{"name":"AngularJS","versions":[]},{"name":"jsFiddle","versions":[]}],"title":"jsFiddle / AngularJS > Link > http example","updated_at":"2016-03-21T07:39:21+09:00","url":"http://qiita.com/7of9/items/a6b340097e34b6ea9d2f","user":{"description":"セブンオブナインです。\r\nUnimatrix 01の第三付属物 9の7という識別番号です。Star trek Voyagerの好きなキャラクターです。\r\n\r\nまとめ記事は後日タイトルから内容がわからなくなるため、title検索で見つかるよう個々の記事にしてます。\r\n\r\nいわゆるBorg集合体の有名なセリフから「お前たち(の知識)を吸収する。抵抗は無意味だ」。Thanks in advance.","facebook_id":"","followees_count":30,"followers_count":55,"github_log'
data = data.replace(/[a-zA-Z]/g, "");
data = data.replace(/(\[|\{|\"|:|<|>)/g, "");
data = data.replace(/(\/|=|\.|_|\+|\(|\))/g, "");
data = data.replace(/(\$|-|}|\)|\]|\})/g, "");
data = data.replace(/,/g, "");
data = data.replace(/[\u2570-\u25ff]/g, "");
data = data.replace(/[\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff]/g, "");
data = data.replace(/[\u3041-\u309F]/g, ""); // hiragana
data = data.replace(/[\u30A1-\u30FA]/g, ""); // katakana
data = data.replace(/[\u3000-\u30FF]/g, ""); // long dashed etc
data = data.replace(/[\uFF00-\uFFFF]/g, ""); // braces
data = data.replace(/ /g,"");
data = data.replace(/[\u2000-\u206F]/g, "");
data = data.replace(/[\u2200-\u22FF]/g, "");
data = data.replace(/[\u0000-\u001F]/g, "");
$scope.name1 = data;
}
結果
Hello, 3737372016032107392109006340097346922016032107392109007963400973469201973055
一応できたが、力技過ぎる。
/^D/g
など試したが、うまく動作しなかった。
これを使ってZundokoしようとしたがうまく動作しなかった。