回答編集履歴
2
typo修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
### String
|
19
|
+
### String.prototype.match
|
20
20
|
|
21
21
|
|
22
22
|
|
1
コード追記 (Array#filter)
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
### String.prototype.split
|
2
2
|
|
3
3
|
|
4
4
|
|
@@ -8,7 +8,23 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
console.log(string.split(/(<[^>]*>)/)); // ["", "<p>", "text", "<span>", "inner", "</span>", "", "</p>", ""]
|
11
|
+
console.log(string.split(/(<[^>]*>)/)); // ["", "<p>", "text", "<span>", "inner", "</span>", "", "</p>", ""]
|
12
|
+
|
13
|
+
console.log(string.split(/(<[^>]*>)/).filter(token => token.length)); // ["<p>", "text", "<span>", "inner", "</span>", "</p>"]
|
14
|
+
|
15
|
+
```
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
### String,prototype.match
|
20
|
+
|
21
|
+
|
22
|
+
|
23
|
+
```JavaScript
|
24
|
+
|
25
|
+
var string = '<p>text<span>inner</span></p>';
|
26
|
+
|
27
|
+
|
12
28
|
|
13
29
|
console.log(string.match(/<[^>]*>|[^<>]+/g)); // ["<p>", "text", "<span>", "inner", "</span>", "</p>"]
|
14
30
|
|
@@ -16,8 +32,4 @@
|
|
16
32
|
|
17
33
|
|
18
34
|
|
19
|
-
一応、`Array.prototype.filter` で「空文字の要素」を取り除けば、`String,prototype.match` と同じ結果になります。
|
20
|
-
|
21
|
-
|
22
|
-
|
23
35
|
Re: dadada-dadada さん
|