回答編集履歴

1

調整

2017/05/25 07:02

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -23,3 +23,91 @@
23
23
 
24
24
 
25
25
  ```
26
+
27
+ # 追記
28
+
29
+ 例示のデータを元に@つきでユニークなドメイン名を取得します
30
+
31
+ ```javascript
32
+
33
+ //ヒアドキュメント風処理
34
+
35
+ var str=(function() {
36
+
37
+ /*
38
+
39
+ Ritchie_Blackmore@111,eric_clapton@111;jimmy-page@111;,;
40
+
41
+ marty.friedman@222,you@2
42
+
43
+ 2
44
+
45
+ 2;jeff beck@22
46
+
47
+ 2
48
+
49
+ ,
50
+
51
+ slash@333;;Dimebag-Darrell@444,jhfjd;gfs1350
52
+
53
+ ,123@555;123@555;000@555,555nyoe--;
54
+
55
+ @666,;@777;
56
+
57
+ AKIRA_TAKASAKI@888,
58
+
59
+ ,
60
+
61
+ ,
62
+
63
+ SUGIZO@999;char@101010
64
+
65
+ ;
66
+
67
+ Nuno-Bettencourt@docomo.ne.jp,Sam-
68
+
69
+ Totman@softbank.ne.jp;
70
+
71
+ syu
72
+
73
+ @ezweb
74
+
75
+ .ne
76
+
77
+ .jp
78
+
79
+ ;kiko.loureiro@yahoo.co.jp;paul.gilbert@gmail.com
80
+
81
+ */
82
+
83
+ }).toString().replace(/\r\n|\r|\n/g,'__rn__').match(/\/\*(.+)\*\//)[1].replace(/__rn__/g,"\n");
84
+
85
+ //一旦表示
86
+
87
+ console.log(str);
88
+
89
+
90
+
91
+ var a=[];
92
+
93
+ str.split(/[,;\r\n]/).filter(function(x){
94
+
95
+ return x.match(/@/);
96
+
97
+ }).forEach(function(x){
98
+
99
+ a.push(x.match(/@.+?$/)[0]);
100
+
101
+ });
102
+
103
+ //aをユニークに
104
+
105
+ a=a.filter(function (x,y,z) {
106
+
107
+ return z.indexOf(x) === y;
108
+
109
+ });
110
+
111
+ console.log(a);
112
+
113
+ ```