回答編集履歴
3
修正
answer
CHANGED
@@ -13,11 +13,11 @@
|
|
13
13
|
|
14
14
|
puts data
|
15
15
|
```
|
16
|
-
上記によって、`
|
16
|
+
上記によって、`\`の含まれない以下が表示されると思います。
|
17
17
|
```
|
18
18
|
<img src="http://stat.ameba.jp/user_images/20170107/15/isopp-blog/37/b4/j/xxxx.jpg?" border="0" width="380" height="437" alt="{61DA79DE-8661-4F18-9522-E5413D4B0137}"></a>
|
19
19
|
```
|
20
|
-
これは、もともとのdataに(表示されるべき)文字としての `
|
20
|
+
これは、もともとのdataに(表示されるべき)文字としての `\` は含まれておらず、dataに代入している文字列内に現れる `\` は `"`(ダブルコーテーション)で囲まれた文字列の中で、HTMLの属性値を囲むための`"` を、文字列の終端を表す`"`ではなく、`"`という文字そのものとして扱うためのエスケープとして機能しているだけだからです。
|
21
21
|
|
22
22
|
ご質問にある正規表現 ```data.gsub(/\\/) { '' }``` は問題ないです。それは以下によって分かります。
|
23
23
|
以下は、data に代入する文字列リテラルをくくるクオートを、ダブルコーテーションからシングルコーテーションに変更して、ご質問にある正規表現で `\`を削除する前と後を表示させたものです。
|
@@ -35,7 +35,7 @@
|
|
35
35
|
削除前: <img src=\"http://stat.ameba.jp/user_images/20170107/15/isopp-blog/37/b4/j/xxxx.jpg?\" border=\"0\" width=\"380\" height=\"437\" alt=\"{61DA79DE-8661-4F18-9522-E5413D4B0137}\"></a>
|
36
36
|
削除後: <img src="http://stat.ameba.jp/user_images/20170107/15/isopp-blog/37/b4/j/xxxx.jpg?" border="0" width="380" height="437" alt="{61DA79DE-8661-4F18-9522-E5413D4B0137}"></a>
|
37
37
|
```
|
38
|
-
期待通り、`
|
38
|
+
期待通り、`\`が削除されます。
|
39
39
|
以下も参考にされるとよいかもしれません。
|
40
40
|
|
41
41
|
[文字列リテラル](https://docs.ruby-lang.org/ja/latest/doc/spec=2fliteral.html#string)
|
2
説明文の修正
answer
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
これは、もともとのdataに(表示されるべき)文字としての `/` は含まれておらず、dataに代入している文字列内に現れる `/` は `"`(ダブルコーテーション)で囲まれた文字列の中で、HTMLの属性値を囲むための`"` を、文字列の終端を表す`"`ではなく、`"`という文字そのものとして扱うためのエスケープとして機能しているだけだからです。
|
21
21
|
|
22
22
|
ご質問にある正規表現 ```data.gsub(/\\/) { '' }``` は問題ないです。それは以下によって分かります。
|
23
|
-
以下は、data に代入する文字列
|
23
|
+
以下は、data に代入する文字列リテラルをくくるクオートを、ダブルコーテーションからシングルコーテーションに変更して、ご質問にある正規表現で `\`を削除する前と後を表示させたものです。
|
24
24
|
|
25
25
|
```Ruby
|
26
26
|
data = '<img src=\"http://stat.ameba.jp/user_images/20170107/15/isopp-blog/37/b4/j/xxxx.jpg?\" border=\"0\" width=\"380\" height=\"437\" alt=\"{61DA79DE-8661-4F18-9522-E5413D4B0137}\"></a>'
|
1
説明文の修正
answer
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
```ruby
|
6
6
|
data = "<img src=\"http://stat.ameba.jp/user_images/20170107/15/isopp-blog/37/b4/j/xxxx.jpg?\" border=\"0\" width=\"380\" height=\"437\" alt=\"{61DA79DE-8661-4F18-9522-E5413D4B0137}\"></a>"
|
7
7
|
```
|
8
|
-
によってdataに代入される文字列には、**そもそも削除対象とする(文字
|
8
|
+
によってdataに代入される文字列には、**そもそも削除対象とする(表示される文字としての)** `\`**は含まれていないから**です。
|
9
9
|
|
10
10
|
それは、以下のようにdataを表示してみると分かります。
|
11
11
|
```ruby
|