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

回答編集履歴

1

slice!について

2017/11/18 09:44

投稿

maisumakun
maisumakun

スコア146674

answer CHANGED
@@ -1,7 +1,15 @@
1
- `String#slice(正規表現)`は、**正規表現と一致しところを返**う、全く逆機能を持つメソッドです([るりま](https://docs.ruby-lang.org/ja/latest/method/String/i/=5b=5d.html))
1
+ `String#slice!`は、**元の文字列**が「指定されもの引き抜いた文字列」に変化して、り値は**引き抜た方文字列**になりま
2
2
 
3
+ ```ruby
4
+ text = "test‟ダブルクォーテーションの中”外"
3
- `gsub`などで空文字列に置き換えましょう。
5
+ text.slice!(/‟.*?”/)
6
+ p text # 抜けた方だけ出てくる
7
+ ```
4
8
 
9
+ ----
10
+
11
+ あと、`slice!`は引き抜きを1個しか行いません。複数個ある場合には`gsub`などで空文字列に置き換えたほうがいいでしょう。
12
+
5
13
  ```
6
14
  text.gsub(/‟.*?”/, '')
7
15
  ```