ruby - 我数不清文件中使用了多少次相同的字符

标签 ruby

<分区>

我有一些文本要检查相同的字符。当我检查时: 放 file.count("AB")。结果:399 但应该是 3

alphabet = ["A","B","C","D","E","F","G","H","I","J",
  "K","L","M","N","O","P","Q","R","S","T",
  "U","V","W","X","Y","Z"," ",".",",",";",
  "-","'"
]

file = File.read("vt_00.txt")
i = 0


while i < alphabet.count do
  single_char_count = file.count(alphabet[i])
  puts "#{alphabet[i]} = #{single_char_count}"
  j = 0
  while j < alphabet.count do
    two_chars = alphabet[i] + alphabet[j]  
    two_chars_count = file.count(two_chars)
    puts "#{two_chars} = #{two_chars_count}"
    j += 1
  end
  i += 1
end

当我检查时: 放 file.count("AB")。结果:399 但应该是 3

最佳答案

String#count以另一种方式工作。

它计算参数中的字符在原始字符串中出现的次数。

例如:

"aaaa aaab".count("ab")
# => 8

你需要的是String#scan .

"aaaa aaab".scan("ab").count
# => 1

关于ruby - 我数不清文件中使用了多少次相同的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58756133/

相关文章:

ruby - 来自 ruby​​ 的 Facebook 对象图 https 请求

ruby - 如何覆盖 `File::SEPARATOR`

ruby - Rspec cucumber : NoMethodError

ruby-on-rails - Rails EXCEPT 查询(过滤出联合表中存在的记录)

ruby - 'keys.each' 和 'each_key' 有什么区别?

ruby - 动态生成 ORM 类

ruby-on-rails - 用于链接到命名空间中的模型的 yardoc 语法是什么?

html - CSS 和 JS 没有在一个 Controller 中加载两个 Action ruby​​ on rails

mysql - 如何更正 mysql.rb 驱动程序?

mysql - Ruby 使用登录路径连接到 mysql