Tag: 字符串

Ruby计数字符序列不使用正则表达式

在计算序列中的字符时需要有关此代码的帮助。 这就是我要的: word(“aaabbcbbaaa”) == [[“a”, 3], [“b”, 2], [“c”, 1], [“b”, 2], [“a”, 3]] word(“aaaaaaaaaa”) == [[“a”, 10]] word(“”) == [] 这是我的代码: def word(str) words=str.split(“”) count = Hash.new(0) words.map {|char| count[char] +=1 } return count end 我得到了一句话(“aaabbcbbaaa”)=> [[“a”,6],[“b”,4],[“c”,1]],这不是我想要的。 我想计算每个序列。 我更喜欢没有正则表达式的解决方案。 谢谢。

Ruby自定义字符串排序

输入字符串: 1654AaBcDddeeFF 输出字符串: 1456acddeeABDFF 我试过的代码: test_array = [] ‘1654AaBcDddeeFF’.each_byte do |char| test_array < 1456ABDFFacddee 但我想最后看到大写字母。

如何仅将数字的字符串哈希值转换为整数

我有从几个不同的XML数据库转储导入的哈希行,看起来像这样(但使用不同的键): {“Id”=>”1”, “Name”=>”Cat”, “Description”=>”Feline”, “Count”=>”123”} 我尝试使用#to_i但它将非数字字符串转换为0 : “Feline”.to_i # => 0 但是我想要的是”Feline”保持字符串的方式,而上面例子中的Id和Count变为整数1和123 。 有没有一种简单的方法可以将数字的字符串值转换为整数?

Ruby:从字符串生成新的Regexps

有没有办法将String转换为Regexp(在Ruby中)? 让我们说: ‘example’ —> /example/ 我的目的是动态生成Regexps。

更快速地查看另一个字符串中是否包含大量字符串

我有一个存储在数组中的大约300k常用字的列表。 所以,数组的1个元素= 1个单词。 另一方面,我有一个庞大的字符串列表,其中可能包含其中一个或多个300k字。 示例字符串将是: ifdxawesome453 。 现在,我需要针对常用词检查每个长字符串。 如果在该字符串中找到单词,则立即返回。 所以,我需要再次检查300k字ifdxawesome453并查看其中是否包含任何字。 所以我做的是: huge_list_of_words.any? do |word| random_long_word.include?(word) end 虽然对于随机长词的小样本来说这是可以的,但如果我有数百万个,那么突然需要几个小时才能完成这项工作。 有没有办法更快地做到这一点? 我想到的唯一方法就是如果我抽样出来,说这些300k中最常见的10k字,并先与它进行比较,如果找不到匹配,则与完整列表进行比较。 另一种大幅加速的方法是按大小对300k字的数组进行分组。 当我然后将长随机字与它进行比较时,我首先检查单词的大小是否过滤掉任何更长的单词。 然后我留下相同大小或更少单词的索引,并从具有最小大小的单词开始搜索它们。

如何使用Ruby检查字符串中是否至少有一个数字?

我需要检查一个字符串是否包含至少一个使用Ruby的数字(我假设某种正则表达式?)。 我该怎么办?

ruby 1.9如何将数组转换为不带括号的字符串

我的问题是如何在没有得到括号和引号的情况下将数组元素转换为ruby 1.9中的字符串。 我有一个数组(数据库提取),我想用它来创建一个定期报告。 myArray = [“Apple”, “Pear”, “Banana”, “2”, “15”, “12”] 在ruby 1.8中,我有以下几行 reportStr = “In the first quarter we sold ” + myArray[3].to_s + ” ” + myArray[0].to_s + “(s).” puts reportStr 这产生了(想要的)输出 在第一季度,我们卖出了2个Apple。 ruby1.9中相同的两行产生(不想要) 在第一季度,我们卖出[“2”] [“Apple”](s)。 在阅读文档Ruby 1.9.3 doc#Array#slice后,我以为我可以生成类似的代码 reportStr = “In the first quarter we sold ” + myArray[3] + ” ” […]

如何从字符串中提取包含非英语字符的URL?

这是一个简单的脚本,它带有一个带有德语URL的锚标记,并提取URL: # encoding: utf-8 require ‘uri’ url = URI.extract(‘München’) puts url http://www.example.com/wp-content/uploads/2012/01/M extract方法在ü处停止。 如何才能使用非英文字母? 我正在使用ruby-1.9.3-p0。

Rails 3中的字符串连接

我想知道为什么会这样:如果在加号和下一个字符串之间有空格,Ruby会连接两个字符串。 但如果没有空间,它是否适用于一些一元运算符? params[‘controller’].to_s + ‘/’ # => “posts/” params[‘controller’].to_s +’/’ # => NoMethodError: undefined method `+@’ for “/”:String

使用Ruby获取网页的所有链接

我正在尝试使用Ruby检索网页的每个外部链接。 我正在使用String.scan与此正则表达式: /href=”https?:[^”]*|href=’https?:[^’]*/i 然后,我可以使用gsub删除href部分: str.gsub(/href=[‘”]/) 这很好用,但我不确定它在性能方面是否有效。 这可以使用,或者我应该使用更具体的解析器(例如nokogiri)? 哪种方式更好? 谢谢!