Tag:

仅显示rails中字符串的前x个单词

我可以显示这样的消息,但在某些情况下我想只显示字符串的前5个单词,然后显示省略号(…)

我怎么算元音?

我已经看到了解决方案,它或多或少匹配 Write a method that takes a string and returns the number of vowels in the string. You may assume that all the letters are lower cased. You can treat “y” as a consonant. Difficulty: easy. def count_vowels(string) vowel = 0 i = 0 while i < string.length if (string[i]=="a" || string[i]=="e" || string[i]=="i" || […]

Ruby中#{}的含义?

操作#{ }似乎是如此根本,以至于我的Ruby书完全忽略了它的定义。 有人可以提供解释吗?

将文本包装到字边界处的行中

1)我想通过单词自动换行文本,这样每行不超过56个字符。 有没有这样做的方法,还是我需要自己滚动? @comment_text = “Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.” 我的看法: 会呈现: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 2)我想将文本缩进4个空格,以便: 56, :indent => 4} ) %> 会呈现: Lorem ipsum dolor […]

为什么Ruby String#split不将连续尾随分隔符视为单独的实体?

我正在阅读一个政府文本文件,其中$被用作分隔符,但我认为分隔符不重要… 所以这是预期的: ‘a$b$c$d’.split(‘$’) # => [“a”, “b”, “c”, “d”] 在我正在使用的数据文件中,列标题行(第一行)被统一填充,即没有空标题,如: ‘a$b$$d’ # or: ‘a$b$c$’ 但是,每行可能有连续的尾随分隔符,例如: “w$x$$\r\n” 通常,我会阅读每一行并扼杀它。 但是这会导致String#split将最后两个分隔符视为一列: “w$x$$\r\n”.chomp.split(‘$’) # => [“w”, “x”] 不做chomp得到我想要的结果,虽然我应该选择最后一个元素: “w$x$$\r\n”.split(‘$’) # => [“w”, “x”, “”, “\r\n”] 所以我要么: 如果最终的非换行符不是连续的分隔符, 则选择该行 保留换行符,进行拆分,然后在最终字符为连续分隔符时选择最终元素 这看起来真的很尴尬……我在这里错过了一些东西吗?

Ruby:在字符处拆分字符串,从右侧算起

简短版 – 如何在ruby中使用Python rsplit()? 更长的版本 – 如果我想在第一个’。’将一个字符串拆分为两个部分(名称,后缀)。 性格,这很好地完成了这项工作: name, suffix = name.split(‘.’, 2) 但如果我想在最后 (最右边)分开’。’ 性格,我还没有能够提出比这更优雅的东西: idx = name.rindex(‘.’) name, suffix = name[0..idx-1], name[idx+1..-1] if idx 请注意,原始名称字符串可能根本没有点,在这种情况下,名称应该是不变的,后缀应该是nil; 它也可能有一个以上的点,在这种情况下,只有最后一个点之后的位应该是后缀。

将字符串拆分为列表,但保留拆分模式

目前我按模式拆分字符串,如下所示: outcome_array=the_text.split(pattern_to_split_by) 问题是我分裂的模式本身总是被省略。 如何让它包含拆分模式本身?

string.next的反义词是什么?

Ruby中是否有一个方法可以执行相反的String#succ ? 如果你运行succ或next你得到这个: a = “4.4.10” a.succ => “4.4.11” 我想要相反: a = “4.4.10” a.previous => “4.4.09” 这可能吗? 我很难在Ruby文档中找到它。 也许它不存在?

拆分字符串以获取Ruby的所有子字符串的最佳方法是什么?

例如,单词“stack”,我想得到一个像这样的数组: [‘s’, ‘st’, ‘sta’, … ‘stack’, ‘t’, ‘ta’, … , ‘c’, ‘ck’, ‘k’] 我是通过这样的代码做到的: def split_word(str) result = [] chas = str.split(“”) len = chas.size (0..len-1).each do |i| (i..len-1).each do |j| result.push(chas[i..j].join) end end result.uniq end 那有更好,更干净的方法吗? 谢谢。

测试变量是否与if-elsif链长的几个字符串中的任何一个匹配,或者case-when

我假设在ruby中有一个很好的单行方式 if mystr == “abc” or “def ” or “ghi” or “xyz” 但在我通常咨询的在线参考文献中找不到如何做到这一点… 谢谢!