回答編集履歴
10
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
正規表現で
|
3
|
+
正規表現を使ってもできそうですが、[nokogiri](https://nokogiri.org/) を使ってHTMLをパースすると、より楽に実現できるかもしれません。以下、その一例です。
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
require 'nokogiri'
|
9
テキスト修正
answer
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
HTML
|
24
24
|
|
25
25
|
result = Nokogiri::HTML.parse(html).search('table').map do |tbl|
|
26
|
-
|
26
|
+
%w(th td).map { |tag| tbl.search(tag).map(&:content) }.transpose.to_h
|
27
27
|
end
|
28
28
|
|
29
29
|
print(result)
|
8
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
正規表現でやり切ろうとする試みもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使
|
3
|
+
正規表現でやり切ろうとする試みもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使ってHTMLをパースすると楽に実現できるかもしれません。以下、その一例です。
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
require 'nokogiri'
|
7
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
正規表現でやり切ろうとする
|
3
|
+
正規表現でやり切ろうとする試みもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使うと楽かもしれません。以下、その一例です。
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
require 'nokogiri'
|
6
テキスト修正
answer
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
HTML
|
24
24
|
|
25
25
|
result = Nokogiri::HTML.parse(html).search('table').map do |tbl|
|
26
|
-
['th', 'td'].map {|tag| tbl.search(tag).map
|
26
|
+
['th', 'td'].map { |tag| tbl.search(tag).map(&:content) }.transpose.to_h
|
27
27
|
end
|
28
28
|
|
29
29
|
print(result)
|
5
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
正規表現で
|
3
|
+
正規表現でやり切ろうとするのもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使うと楽かもしれません。以下、その一例です。
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
require 'nokogiri'
|
4
テキスト修正
answer
CHANGED
@@ -22,11 +22,8 @@
|
|
22
22
|
</table>
|
23
23
|
HTML
|
24
24
|
|
25
|
-
|
26
25
|
result = Nokogiri::HTML.parse(html).search('table').map do |tbl|
|
27
|
-
|
26
|
+
['th', 'td'].map {|tag| tbl.search(tag).map &:content }.transpose.to_h
|
28
|
-
values = tbl.search('td').map &:content
|
29
|
-
keys.zip(values).to_h
|
30
27
|
end
|
31
28
|
|
32
29
|
print(result)
|
3
テキスト修正
answer
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
result = Nokogiri::HTML.parse(html).search('table').map do |tbl|
|
27
27
|
keys = tbl.search('th').map &:content
|
28
28
|
values = tbl.search('td').map &:content
|
29
|
-
|
29
|
+
keys.zip(values).to_h
|
30
30
|
end
|
31
31
|
|
32
32
|
print(result)
|
2
テキスト修正
answer
CHANGED
@@ -24,11 +24,9 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
result = Nokogiri::HTML.parse(html).search('table').map do |tbl|
|
27
|
-
tbl.search('tr').each_with_object({}) do |tr, h|
|
28
|
-
|
27
|
+
keys = tbl.search('th').map &:content
|
29
|
-
|
28
|
+
values = tbl.search('td').map &:content
|
30
|
-
|
29
|
+
[keys, values].transpose.to_h
|
31
|
-
end
|
32
30
|
end
|
33
31
|
|
34
32
|
print(result)
|
1
テキスト修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
こんにちは
|
2
2
|
|
3
|
-
正規表現で頑張
|
3
|
+
正規表現で頑張ってみるのもよいですが、[nokogiri](https://nokogiri.org/) でHTMLをパースすると楽かもしれません。以下、一例です。
|
4
4
|
|
5
5
|
```ruby
|
6
6
|
require 'nokogiri'
|