質問するログイン新規登録

回答編集履歴

10

テキスト修正

2020/07/26 22:06

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは
2
2
 
3
- 正規表現でやり切ろる試みもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使ってHTMLをパースすると楽に実現できるかもしれません。以下、その一例です。
3
+ 正規表現を使ってもきそすが、[nokogiri](https://nokogiri.org/) を使ってHTMLをパースすると、より楽に実現できるかもしれません。以下、その一例です。
4
4
 
5
5
  ```ruby
6
6
  require 'nokogiri'

9

テキスト修正

2020/07/26 22:06

投稿

jun68ykt
jun68ykt

スコア9058

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(&:content) }.transpose.to_h
26
+ %w(th td).map { |tag| tbl.search(tag).map(&:content) }.transpose.to_h
27
27
  end
28
28
 
29
29
  print(result)

8

テキスト修正

2020/07/26 20:19

投稿

jun68ykt
jun68ykt

スコア9058

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

テキスト修正

2020/07/26 18:59

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは
2
2
 
3
- 正規表現でやり切ろうとするもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使うと楽かもしれません。以下、その一例です。
3
+ 正規表現でやり切ろうとする試みもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使うと楽かもしれません。以下、その一例です。
4
4
 
5
5
  ```ruby
6
6
  require 'nokogiri'

6

テキスト修正

2020/07/26 18:06

投稿

jun68ykt
jun68ykt

スコア9058

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 &:content }.transpose.to_h
26
+ ['th', 'td'].map { |tag| tbl.search(tag).map(&:content) }.transpose.to_h
27
27
  end
28
28
 
29
29
  print(result)

5

テキスト修正

2020/07/26 17:35

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは
2
2
 
3
- 正規表現で頑張ってみるのもよいすが、[nokogiri](https://nokogiri.org/) でHTMLパースすると楽かもしれません。以下、一例です。
3
+ 正規表現でやり切ろうとするのもよいとは思いますが、さはさりながら、[nokogiri](https://nokogiri.org/) を使うと楽かもしれません。以下、その一例です。
4
4
 
5
5
  ```ruby
6
6
  require 'nokogiri'

4

テキスト修正

2020/07/26 17:26

投稿

jun68ykt
jun68ykt

スコア9058

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
- keys = tbl.search('th').map &:content
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

テキスト修正

2020/07/26 17:10

投稿

jun68ykt
jun68ykt

スコア9058

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
- [keys, values].transpose.to_h
29
+ keys.zip(values).to_h
30
30
  end
31
31
 
32
32
  print(result)

2

テキスト修正

2020/07/26 17:05

投稿

jun68ykt
jun68ykt

スコア9058

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
- key = tr.search('th')[0].content
27
+ keys = tbl.search('th').map &:content
29
- value = tr.search('td')[0].content
28
+ values = tbl.search('td').map &:content
30
- h[key] = value
29
+ [keys, values].transpose.to_h
31
- end
32
30
  end
33
31
 
34
32
  print(result)

1

テキスト修正

2020/07/26 17:03

投稿

jun68ykt
jun68ykt

スコア9058

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  こんにちは
2
2
 
3
- 正規表現で頑張ってみるのもよいですが、[nokogiri](https://nokogiri.org/) でHTMLをパースすると楽にやそうです。以下、一例です。
3
+ 正規表現で頑張ってみるのもよいですが、[nokogiri](https://nokogiri.org/) でHTMLをパースすると楽かもしません。以下、一例です。
4
4
 
5
5
  ```ruby
6
6
  require 'nokogiri'