草庐IT

Ruby - 如何从字符串中选择一些字符

我正在尝试为选择找到一个函数,例如字符串的前100个字符。在PHP中,存在substrfunctionRuby有没有类似的功能? 最佳答案 试试foo[0...100],任何范围都可以。范围也可能为负。是wellexplainedinthedocumentationruby。 关于Ruby-如何从字符串中选择一些字符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6423966/

ruby - Ruby 中的 to_s 与 to_str(以及 to_i/to_a/to_h 与 to_int/to_ary/to_hash)

我正在学习Ruby,我看到了一些让我有点困惑的方法,特别是to_s与to_str(同样,to_i/to_int,to_a/to_ary,&to_h/to_hash).我读到的内容解释说,较短的形式(例如to_s)用于显式转换,而较长的形式用于隐式转换。我真的不明白to_str实际是如何使用的。to_str会定义字符串以外的东西吗?你能给出这个方法的实际应用吗? 最佳答案 首先请注意,所有这些都适用于每对“短”(例如to_s/to_i/to_a/to_h)与“long”(例如to_str/to_int/to_ary/to_hash)强

Ruby 多字符串替换

str="Hello☺World☹"预期输出是:"Hello:)World:("我可以这样做:str.gsub("☺",":)").gsub("☹",":("))是否有任何其他方法可以让我在单个函数调用中完成此操作?。像这样的东西:str.gsub(['s1','s2'],['r1','r2']) 最佳答案 从Ruby1.9.2开始,String#gsub接受哈希作为第二个参数,用于替换匹配的键。您可以使用正则表达式来匹配需要替换的子字符串,并为要替换的值传递哈希。像这样:'hello'.gsub(/[eo]/,'e'=>3,'o'

ruby - 如何将逗号分隔的字符串转换为数组?

在Ruby中有什么方法可以将逗号分隔的字符串转换为数组吗?例如,如果我有这样一个字符串:"one,two,three,four"我如何将它转换成这样的数组?["one","two","three","four"] 最佳答案 使用split方法来做:"one,two,three,four".split(',')#["one","two","three","four"]如果您想忽略前导/尾随空格,请使用:"one,two,three,four".split(/\s*,\s*/)#["one","two","three","four"]如

ruby - Ruby 的 %q/%Q 引用方法的用例是什么?

我通读了Thomas的ProgrammingRuby1.9并发现了替代的定界单引号和双引号方法(%q/%Q)。我也从其他Ruby语言引用资料中了解到它们。%q/I'mactinglikeasingle-quotedstring/%Q|"I'mactinglikeadouble-quotedstring"--Anonymous|我使用Ruby的时间不长,但我从未在生产代码中遇到过这种引用方法。除了明显能够避免使用反斜杠在内部转义引号之外,这种在常规单引号或双引号上引用的方法的常见用例是什么?它们通常用于单行还是多行字符串?如果在多行字符串中使用,它们是否比HEREDOC字符串更受青睐?是

ruby - 如何从 Ruby 中的字符串中删除特定字符?

我有几个看起来像这样的字符串:"((String1))"它们的长度都不一样。我怎样才能从循环中的所有这些字符串中删除括号? 最佳答案 使用String#tr执行以下操作:"((String1))".tr('()','')#=>"String1" 关于ruby-如何从Ruby中的字符串中删除特定字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/19637677/

ruby-on-rails - 在Ruby on Rails中,要扩展String类,代码应该放在哪里?

如果在RubyonRails上,我需要添加一个名为classStringdefcapitalize_first#...endend想知道文件应该放在哪里?(哪个目录和文件名,是否需要任何初始化代码?)这是针对Rails3.0.6项目的。 最佳答案 我总是在我的lib目录中添加一个core_ext目录。创建一个initializer用于加载自定义扩展(例如:config/initializers/core_exts.rb)。并在其中添加以下行:Dir[File.join(Rails.root,"lib","core_ext","*.r

ruby-on-rails - rails : Validating min and max length of a string but allowing it to be blank

我有一个要验证的字段。我希望该字段能够留空,但如果用户正在输入数据,我希望它采用某种格式。目前我在模型中使用以下验证,但这不允许用户将其留空:validates_length_of:foo,:maximum=>5validates_length_of:foo,:minimum=>5如何编写此代码以实现我的目标? 最佳答案 你也可以使用这种格式:validates:foo,length:{minimum:5,maximum:5},allow_blank:true或者因为您的最小值和最大值相同,以下也将起作用:validates:foo

ruby .split ('\n' ) 不在新行上拆分

为什么这个字符串不在每个“\n”上拆分?(ruby)"ADVERTISING[7310]\n\t\tIRSNUMBER:\t\t\t\t061340408\n\t\tSTATEOFINCORPORATION:\t\t\tDE\n\t\tFISCALYEAREND:\t\t\t0331\n\n\tFILINGVALUES:\n\t\tFORMTYPE:\t\t10-Q\n\t\tSECACT:\t\t1934Act\n\t".split('\n')>>["ADVERTISING[7310]\n\t\tIRSNUMBER:\t\t\t\t061340408\n\t\tSTATEOFINCO

ruby - 如何在 Ruby 中拆分字符串并获取除第一个之外的所有项目?

字符串是ex="test1,test2,test3,test4,test5"当我使用ex.split(",").first返回"test1"现在我想获取剩余的项目,即“test2、test3、test4、test5”。如果我使用ex.split(",").last它只返回"test5"如何让所有剩余的项目跳过第一个? 最佳答案 试试这个:first,*rest=ex.split(/,/)现在first将是第一个值,rest将是数组的其余部分。 关于ruby-如何在Ruby中拆分字符串并获