草庐IT

字符串函数

全部标签

ruby - 如何从 Ruby 中的字符串中删除前 n 行?

One\nTwo\nThree\nFour\nremove_lines(2)将删除前两行,留下字符串:Three\nFour\n 最佳答案 s.to_a[2..-1].join>>s="One\nTwo\nThree\nFour\n"=>"One\nTwo\nThree\nFour\n">>s.to_a[2..-1].join=>"Three\nFour\n" 关于ruby-如何从Ruby中的字符串中删除前n行?,我们在StackOverflow上找到一个类似的问题:

ruby - Rails 3 - 通过 Controller 中的正则表达式检查字符串/文本是否包含某个单词/字符

我正在我的应用程序中开发一种引用机制,例如,应该可以在评论表单中简单地键入#26以引用该主题的评论26。为了首先检查用户是否想引用一条或多条评论,我在current_user.comments.build之后和@comment.save之前放置了一个if条件。但是,只是为了让我的问题更笼统和更容易适应:if@comment.content.include?(/\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i)我想要这样的东西。该示例用于检查评论的内容是否包含电子邮件。但从逻辑上讲,我收到“无法将正则表达式转换为字符串”错误。您如何进行包含?使用正则表达式的Rail

ruby - 如何反转 ruby​​ 的包含函数

我将在代码中解释我正在寻找的内容,因为这可能是最简洁的:moduleMixindefmethodputs"Foo"endendclassWhateverincludeMixinendw=Whatever.neww.method=>"Foo"#somemagicherew2=Whatever.neww.method=>NoMethodError我曾尝试使用remove_const取消定义Mixin模块,但这似乎对Whatever没有任何影响。我曾假设#include只是将对模块的引用添加到类的方法解析链中-但这种行为与此不符。谁能告诉我include在幕后实际做了什么,以及如何扭转它?

JavaScript函数到当前时间(从时期)到最近的分钟

我一直在墙上撞到墙上,试图获得与此PHP片段相当的JavaScript:我一直在尝试这一点:vartimeInMin=newDate().getTime()/60000;vartimestamp=Math.round(timeInMin);varkey=md5(timestamp+'uniqueID');利用MD5脚本这里我只需要锁定和钥匙才能匹配。对我来说似乎很简单。我究竟做错了什么?看答案正如我之前所说的,如果时间不匹配,它将不会产生相同的哈希。在这种情况下,我要做的是找到将时间从PHP转移到客户端的方法,以便他们可以使用相同的时间。php侧:客户端:vartimestamp=getCoo

javascript - Escape String - 在 Javascript 中输出 rails 字符串

这个问题在这里已经有了答案:HowtopassRubyvariablestoaJavaScriptfunctioninaRailsview?(6个答案)关闭8年前。我正在尝试将字符串值分配给.erb文件中的javascript对象,如下所示:vardata={'name':'',...};问题是,如果name的值是Tom'ssmallears,data.name的输出将是Tom'ssmallears.有没有办法转义特殊字符?我试过做'name':''但是UncaughtSyntaxError:Unexpectedidentifier将输出输出到控制台。正在做输出Tom\&#x

ruby - 将 Ruby 字符串编码为 JSON 字符串

jsongem不允许直接将字符串编码为它们的JSON表示形式。我暂时移植了这段PHP代码:$text=json_encode($string);对于这个Ruby:text=string.inspect它似乎完成了这项工作,但出于某种原因,如果string本身包含带有换行符的文字字符串(它实际上是JS代码),这些换行符\n将保持原样\n,而不是编码为\\n。我能理解这是否是#inspect的正确行为,但是......如何在Ruby中将字符串值编码为其JSON表示形式? 最佳答案 这适用于stock1.9.3+标准库JSON:requi

Ruby 字符串用正则表达式拆分

这是Ruby1.8.7但应该与1.9.x相同我正在尝试拆分一个字符串,例如:a="foo.bar.size.split('.').last"#tryingtosplitinto["foo","bar","split('.')","last"]基本上将它分成它所代表的命令,我正在尝试使用Regexp但不确定如何,我的想法是使用regexpa.split(/[a-z\(\)](\.)[a-z\(\)]/)这里尝试使用组(\.)来拆分它,但这似乎不是一个好方法。 最佳答案 我认为这样做可以:a.split(/\.(?=[\w])/)我不知

ruby - 在 Ruby 中对字符串数组进行排序

我在Ruby中学习了两种数组排序方法:array=["one","two","three"]array.sort.reverse!或:array=["one","two","three"]array.sort{|x,y|yx}我无法区分这两者。哪种方法更好,它们在执行上究竟有何不同? 最佳答案 这两行做同样的事情(创建一个新的数组,它是反向排序的)。主要争论是关于可读性和性能。array.sort.reverse!比array.sort{|x,y|yx}更具可读性-我想我们可以在这里达成共识。对于性能部分,我创建了一个快速基准测试脚

ruby - 如何在 Ruby 中进行 "late"字符串插值

>>string='#{var}'=>"\#{var}">>proc=Proc.new{|var|string}=>#>>proc.call(123)=>"\#{var}"不是我想要的。string周围的双引号导致明显的undefinedlocalvariable。 最佳答案 在我的例子中,我需要将配置存储在yml中,并进行插值,但仅在我需要时才进行插值。Proc的公认答案对我来说似乎过于复杂。在ruby​​1.8.7中,您可以使用%语法,如下所示:"Thisisa%sverb,%s"%["nice","woaaaah"]当至少使用

ruby - 返回 ruby​​ 中字符串中所有出现的字符的索引

我正在尝试使用Ruby将索引返回到字符串中所有出现的特定字符。示例字符串是"a#asg#sdfg#d##"并且在搜索时预期返回是[1,5,10,12,13]#个字符。以下代码可以完成这项工作,但必须有更简单的方法吗?defoccurances(line)index=0all_index=[]line.each_bytedo|x|ifx=='#'[0]thenall_index 最佳答案 s="a#asg#sdfg#d##"a=(0...s.length).find_all{|i|s[i,1]=='#'}