回答編集履歴
2
文字列の個数を数える方法について追記しました
answer
CHANGED
@@ -8,4 +8,16 @@
|
|
8
8
|
iex> s |> to_char_list |> Enum.filter(&(&1 == c)) |> length |> IO.puts
|
9
9
|
3
|
10
10
|
:ok
|
11
|
+
```
|
12
|
+
|
13
|
+
---
|
14
|
+
|
15
|
+
**2016年11月8日 追記**
|
16
|
+
|
17
|
+
単一の文字ではなくて、文字列(例:`~s("id":)`)の個数を数えたい場合は、Regex モジュールの [`scan/3`](http://elixir-lang.org/docs/stable/elixir/Regex.html#scan/3) を使うとよさそうです。この関数は、正規表現にマッチした全ての文字列をリストにして返しますので、そのリストの length をとれば OK です。
|
18
|
+
|
19
|
+
```elixir
|
20
|
+
iex> s = ~s("id": ... "id": ... "id":)
|
21
|
+
iex> Regex.scan(~r{"\id\":}, s) |> length
|
22
|
+
3
|
11
23
|
```
|
1
誤字の修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
たしかに、Elixir の標準ライブラリには、そのようなことをする関数はなさそうですね。既存の関数を組み合わせるなら、以下の方法で実現できます。
|
1
|
+
たしかに、Elixir の標準ライブラリには、そのようなことをする関数はなさそうですね。既存の関数を組み合わせるのでよいのなら、以下の方法で実現できます。
|
2
2
|
|
3
3
|
```elixir
|
4
4
|
iex> s = "hello, world"
|