回答編集履歴

10

修正

2017/04/25 14:43

投稿

退会済みユーザー
test CHANGED
@@ -136,7 +136,7 @@
136
136
 
137
137
  <p class="sssssss"><a href="http://~~~~~~~~~"><img class="~~~" /></a></p>
138
138
 
139
- <p>~~~~~~~~~~~~~~~~~~~~</
139
+ <p>~~~~~~~~~~~~~~~~~~~~</p>
140
140
 
141
141
  ```
142
142
 

9

修正

2017/04/25 14:43

投稿

退会済みユーザー
test CHANGED
@@ -1,4 +1,6 @@
1
1
  ```Ruby
2
+
3
+
2
4
 
3
5
  #encoding: utf-8
4
6
 
@@ -82,13 +84,21 @@
82
84
 
83
85
  content.each do |e|
84
86
 
87
+ if e[0] == "\n"
88
+
89
+ e.slice!(0)
90
+
91
+ end
92
+
93
+
94
+
85
- data = e.chomp.split("\n").reject{|e| e.empty?}
95
+ data = e.chomp.split("\n")
86
96
 
87
97
  checklist = data.map.with_index{|e, i| i if e.include?("/p>") }.compact
88
98
 
89
99
 
90
100
 
91
- puts data[0..checklist[ARGV[0].to_i - 1]] #2入力
101
+ puts data[0..checklist[1]] #ここ変更
92
102
 
93
103
  puts ""
94
104
 
@@ -126,7 +136,7 @@
126
136
 
127
137
  <p class="sssssss"><a href="http://~~~~~~~~~"><img class="~~~" /></a></p>
128
138
 
129
- <p>~~~~~~~~~~~~~~~~~~~~</p>
139
+ <p>~~~~~~~~~~~~~~~~~~~~</
130
140
 
131
141
  ```
132
142
 
@@ -134,6 +144,4 @@
134
144
 
135
145
  「\p>」の数を数えて2番目に出現したところまでで切って表示しています。
136
146
 
137
- 2を入力した部分に他の数字を入れるとその回数で切って表示します。
138
147
 
139
-

8

修正

2017/04/25 09:25

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,4 @@
1
1
  ```Ruby
2
-
3
-
4
2
 
5
3
  #encoding: utf-8
6
4
 
@@ -90,7 +88,7 @@
90
88
 
91
89
 
92
90
 
93
- puts data[0..checklist[1]]
91
+ puts data[0..checklist[ARGV[0].to_i - 1]] #2を入力
94
92
 
95
93
  puts ""
96
94
 
@@ -136,4 +134,6 @@
136
134
 
137
135
  「\p>」の数を数えて2番目に出現したところまでで切って表示しています。
138
136
 
137
+ 2を入力した部分に他の数字を入れるとその回数で切って表示します。
139
138
 
139
+

7

修正

2017/04/25 09:14

投稿

退会済みユーザー
test CHANGED
@@ -132,7 +132,7 @@
132
132
 
133
133
  ```
134
134
 
135
- 考えてみました。
135
+ 正規表現ではないですが考えてみました。
136
136
 
137
137
  「\p>」の数を数えて2番目に出現したところまでで切って表示しています。
138
138
 

6

修正

2017/04/25 09:10

投稿

退会済みユーザー
test CHANGED
@@ -86,11 +86,11 @@
86
86
 
87
87
  data = e.chomp.split("\n").reject{|e| e.empty?}
88
88
 
89
- checkList = data.map.with_index{|e, i| i if e.include?("/p>") }.compact
89
+ checklist = data.map.with_index{|e, i| i if e.include?("/p>") }.compact
90
90
 
91
91
 
92
92
 
93
- puts data[0..checkList[1]]
93
+ puts data[0..checklist[1]]
94
94
 
95
95
  puts ""
96
96
 

5

修正

2017/04/25 09:06

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,9 @@
24
24
 
25
25
 
26
26
 
27
+ sample2 = '
28
+
27
- sample2 = '<p style="text-align: left;"><a href="http://naiken.nurve.jp/" target="_blank">VR内見公式サイト</a></p>
29
+ <p style="text-align: left;"><a href="http://naiken.nurve.jp/" target="_blank">VR内見公式サイト</a></p>
28
30
 
29
31
  <p style="text-align: left;">
30
32
 
@@ -40,7 +42,33 @@
40
42
 
41
43
  <p style="text-align: left;">Hello</p>
42
44
 
43
- <h2 style="text-align: left;">Hello</h2>'
45
+ <h2 style="text-align: left;">Hello</h2>
46
+
47
+ '
48
+
49
+
50
+
51
+ sample3 = '
52
+
53
+ <h2>aaaについて</h2>
54
+
55
+ <p class="sssssss"><a href="http://~~~~~~~~~"><img class="~~~" /></a></p>
56
+
57
+ <p>~~~~~~~~~~~~~~~~~~~~</p>
58
+
59
+ <p>aaaaaaaaaaaaaaaaaaaa</p>
60
+
61
+ <h3><i class="~~~~~~~~~~"></i><span>hoge</span></h3>
62
+
63
+ <p><iframe width="000" height="000" src="https://www.youtube.com/embed/aaaaaa></iframe></p>
64
+
65
+ <h2>aaaaaaa</h2>
66
+
67
+ <p>~~~~~~~~~~~~~~~~~~~</p>
68
+
69
+ '
70
+
71
+
44
72
 
45
73
 
46
74
 
@@ -49,6 +77,8 @@
49
77
  content.push(sample1)
50
78
 
51
79
  content.push(sample2)
80
+
81
+ content.push(sample3)
52
82
 
53
83
 
54
84
 
@@ -92,6 +122,14 @@
92
122
 
93
123
  </p>
94
124
 
125
+
126
+
127
+ <h2>aaaについて</h2>
128
+
129
+ <p class="sssssss"><a href="http://~~~~~~~~~"><img class="~~~" /></a></p>
130
+
131
+ <p>~~~~~~~~~~~~~~~~~~~~</p>
132
+
95
133
  ```
96
134
 
97
135
  考えてみました。

4

修正

2017/04/25 09:05

投稿

退会済みユーザー
test CHANGED
@@ -94,6 +94,8 @@
94
94
 
95
95
  ```
96
96
 
97
- 考えてみました
97
+ 考えてみました
98
+
99
+ 「\p>」の数を数えて2番目に出現したところまでで切って表示しています。
98
100
 
99
101
 

3

修正

2017/04/25 09:01

投稿

退会済みユーザー
test CHANGED
@@ -3,10 +3,6 @@
3
3
 
4
4
 
5
5
  #encoding: utf-8
6
-
7
-
8
-
9
- content = []
10
6
 
11
7
 
12
8
 
@@ -48,9 +44,11 @@
48
44
 
49
45
 
50
46
 
51
- content << sample1
47
+ content = Array.new
52
48
 
49
+ content.push(sample1)
50
+
53
- content << sample2
51
+ content.push(sample2)
54
52
 
55
53
 
56
54
 
@@ -63,8 +61,6 @@
63
61
 
64
62
 
65
63
  puts data[0..checkList[1]]
66
-
67
- puts "-" * 20
68
64
 
69
65
  puts ""
70
66
 

2

修正

2017/04/25 08:59

投稿

退会済みユーザー
test CHANGED
@@ -1,6 +1,34 @@
1
1
  ```Ruby
2
2
 
3
+
4
+
5
+ #encoding: utf-8
6
+
7
+
8
+
9
+ content = []
10
+
11
+
12
+
13
+ sample1 = '
14
+
15
+ <p>~~~</p>
16
+
17
+ <h2>~~</h2>
18
+
19
+ <p class="aaa">~~~</p>
20
+
21
+ ~~~以降は削除~~~
22
+
23
+ <p>~~~</p>
24
+
25
+ <a>~~~</a>
26
+
27
+ '
28
+
29
+
30
+
3
- content = '<p style="text-align: left;"><a href="http://naiken.nurve.jp/" target="_blank">VR内見公式サイト</a></p>
31
+ sample2 = '<p style="text-align: left;"><a href="http://naiken.nurve.jp/" target="_blank">VR内見公式サイト</a></p>
4
32
 
5
33
  <p style="text-align: left;">
6
34
 
@@ -20,13 +48,41 @@
20
48
 
21
49
 
22
50
 
51
+ content << sample1
52
+
53
+ content << sample2
54
+
55
+
56
+
57
+ content.each do |e|
58
+
59
+ data = e.chomp.split("\n").reject{|e| e.empty?}
60
+
23
- puts content.sub(/(<\/a>\n<\/p>).*/m, "\\1")
61
+ checkList = data.map.with_index{|e, i| i if e.include?("/p>") }.compact
62
+
63
+
64
+
65
+ puts data[0..checkList[1]]
66
+
67
+ puts "-" * 20
68
+
69
+ puts ""
70
+
71
+ end
24
72
 
25
73
  ```
26
74
 
27
75
  実行結果例
28
76
 
29
77
  ```
78
+
79
+ <p>~~~</p>
80
+
81
+ <h2>~~</h2>
82
+
83
+ <p class="aaa">~~~</p>
84
+
85
+
30
86
 
31
87
  <p style="text-align: left;"><a href="http://naiken.nurve.jp/" target="_blank">VR内見公式サイト</a></p>
32
88
 
@@ -42,6 +98,6 @@
42
98
 
43
99
  ```
44
100
 
45
- Zuishin様のコードをそのまま使わせいただきました
101
+ 考えました
46
102
 
47
103
 

1

修正

2017/04/25 08:57

投稿

退会済みユーザー
test CHANGED
@@ -44,10 +44,4 @@
44
44
 
45
45
  Zuishin様のコードをそのまま使わせていただきました。
46
46
 
47
- 「どんなhtml文字列に対しても」というのはあいまいで
48
47
 
49
- だいぶ難しいことのように思います。
50
-
51
- 「半分とは何か」もう少し細かい条件を示していただいたほうが良いかと。
52
-
53
- (例えば<p><\p>が2回など)