ruby – 计算两个字母一起出现的次数
发布时间:2020-12-16 22:56:12 所属栏目:百科 来源:网络整理
导读:我正在尝试制作一个 Ruby程序,它计算两个字母一起出现的数量.这是我正在阅读的文件中写的内容: holachau 这就是我想要得到的: ho;ol;la;ch;ha;au;1;1;1;1;1;1; 我无法让它正常工作.到目前为止这是我的代码: file = File.read(gets.chomp)todo = file.scan
我正在尝试制作一个
Ruby程序,它计算两个字母一起出现的数量.这是我正在阅读的文件中写的内容:
hola chau 这就是我想要得到的: ho;ol;la;ch;ha;au; 1;1;1;1;1;1; 我无法让它正常工作.到目前为止这是我的代码: file = File.read(gets.chomp) todo = file.scan(/[a-z][a-z]/).each_with_object(Hash.new(0)) { |a,b| b[a] += 1 } keys = '' values = '' todo.each_key { |key| keys += key + ';' } todo.each_value { |value| values += value.to_s + ';' } puts keys puts values 这是我得到的结果: ho;la;ch;au; 1;1;1;1; 为什么我没有得到每个角色的组合?我应该如何对我的正则表达式进行广告,以便计算每个字符组合? 解决方法
由于字符重叠,您需要使用前瞻来捕获重叠的字符.
(?=([a-z][a-z])) DEMO (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |