count(*chars) -> Integer
[permalink][rdoc][edit]-
chars で指定された文字が文字列 self にいくつあるか数えます。
検索する文字を示す引数 chars の形式は tr(1) と同じです。つまり、「"a-c"」は文字 a から c を意味し、「"^0-9"」のように文字列の先頭が「^」の場合は指定文字以外を意味します。
文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。また、「-」「^」「\」はバックスラッシュ (「\」) によりエスケープできます。
引数を複数指定した場合は、すべての引数にマッチした文字だけを数えます。
- [PARAM] chars:
- 出現回数を数える文字のパターン
p 'abcdefg'.count('c') # => 1 p '123456789'.count('2378') # => 4 p '123456789'.count('2-8', '^4-6') # => 4 # ファイルの行数を数える n_lines = File.open("foo").read.count("\n") # ファイルの末尾に改行コードがない場合にも対処する buf = File.open("foo").read n_lines = buf.count("\n") n_lines += 1 if /[^\n]\z/ =~ buf # if /\n\z/ !~ buf だと空ファイルを 1 行として数えてしまうのでダメ