草庐IT

ruby - 如何从小写字符串数组中返回随机的大写和小写字符串

有没有一种有效的方法可以随机返回大写或小写的字符串?我不想在数组中使用upcase或downcase如下。此外,Array将包含两个名称,比方说["Cary","Ursus"],我想要的输出将是这4个结果中的随机之一。1-我的名字是CARY或我的名字是cary或我的名字是URSUS或我的名字是ursus。defrandom_case(name)name=["jordan".upcase,"jordan".downcase]name.sampleendputs"Mynameis#{random_case(name)}" 最佳答案 这个

ruby - 将第一个字符大写并保留其他字符

我只想将第一个字符大写,其他字符保持原样。例如:"fooBar".titleize返回"FooBar"。应该返回FooBar。"foo_Bar".capitalize返回"Foo_bar"应该返回Foo_Bar。有什么方法可以做到这一点? 最佳答案 irb(main):001:0>s="foo_Bar"=>"foo_Bar"irb(main):002:0>s[0]=s[0].upcase=>"F"irb(main):003:0>s=>"Foo_Bar"或使用正则表达式进行就地替换:irb(main):001:0>s="foo_Bar

ruby - 在 ruby​​ 中,你如何判断字符串输入是大写还是小写?

我正在尝试编写一个程序,当输入单个字母时,如果它是大写字母,则将其保留为大写字母并返回,如果它是小写字母,则将其转换为大写字母。我该如何编写才能判断字符串最初是大写还是小写? 最佳答案 只需将字符串转换为大写并与原始字符串进行比较string==string.upcase或小写string==string.downcase编辑:如评论中所述,上述解决方案仅适用于英文字母。如果您需要国际解决方案,请改用defupcase?(string)!string[/[[:lower:]]/]end它使用正则表达式扫描字符串中的小写字母,并否定结

Ruby 判断一个字母是否大写

问题很简单,可能有上千个答案,但我正在寻找一些神奇的ruby​​函数。问题:判断字母是否大写,即属于A-Z。可能的解决方案:array=["A","B",.....,"Z"]letter="A"is_upcase=array.include?letter请注意“1”不是大写字母。有没有神奇的ruby函数可以用更少的代码解决问题? 最佳答案 您可以使用POSIXcharacterclasses:/[[:lower:]]/-小写字母字符/[[:upper:]]/-大写字母例子:defwhich_case(letter)caselette

ruby - 在 Ruby 中按字母顺序对数组进行排序,但最后使用大写单词

我正在尝试在Ruby中按字母顺序对字符串进行排序。问题是,它将大写单词放在字符串的开头,但我希望它们放在末尾。我的原始字符串是:["Apple","banana","Zebra","orange"]我想要什么:["banana","orange","Apple","Zebra"] 最佳答案 交换大小写排序:["Apple","banana","Zebra","orange"].sort_by(&:swapcase)#=>["banana","orange","Apple","Zebra"]

ruby - 全部大写到正常大小写

我正试图找到一个优雅的解决方案来转换这样的东西ALLCAPSTEXT."WHYANYONEWOULDUSEIT?"THISISRIDICULOUS!HELP....到常规大小写。我或多或少可以找到所有句子开头的字符:(?但是(标准)Ruby既不允许后视,也不可能将.capitalize应用于gsub替换。我希望我能做到这一点:"mytext".gsub(/my(regex)/,'\1'.capitalize)但目前的工作解决方案是"mytext".split(/\./).each{|x|px.capitalize}#butthissolutionsucks

ruby - 将数组中除选定单词外的每个单词大写

现在我有value="Unitedstatesofamerica"words_to_ignore=["the","of"]new_string=value.split('').map{|w|w.capitalize}.join('')我想在这里做的是除了单词of,我希望其余的都大写。所以输出将是UnitedStatesofAmerica。现在我不确定该怎么做。 最佳答案 试试这个:new_string=value.split('').each{|i|i.capitalize!if!words_to_ignore.include?i}

ruby - 如何使用 start_with 忽略大写字母?

有没有比这更好的忽略大写的方法?"Hello".start_with?("hell","Hell")#=>true我想检查数组中的字符串元素是否以忽略大写字母的另一个字符串开头,例如MySQL中的LIKE%。 最佳答案 我会这样做:'Hello'.upcase.start_with?('HELL')解决同一问题的另一种方法。这相当于在SQL中执行类似UPPER(column)like'SOMETHING%'的操作。 关于ruby-如何使用start_with忽略大写字母?,我们在Stac

ruby - 打印小写字符串大写的所有排列

我正在尝试打印出Ruby中小写字符串的所有大写版本排列。例如:原始字符串:aaa,输出是:啊啊啊啊啊啊啊AA啊啊啊啊AAAAAA非常感谢任何帮助或提示。 最佳答案 str='aaa'(0...1>b)&1).zero??a:a.upcase}.join}#=>aaaAaaaAaAAaaaAAaAaAAAAA基本思想是将有2的n次方(2**n==1)输出字符串,其中n=str.length.因此,您可以使用索引i从0到2**n-1作为将要大写字母的位域。例如000->aaa001->aaA010->aAa011->aAAetc.

ruby - 用于匹配大写字母的正则表达式

defnormalized?matches=match(/[^A-Z]*/)returnmatches.size==0end这是我对字符串进行操作的函数,检查字符串是否只包含大写字母。它可以很好地排除不匹配,但是当我在像"ABC"这样的字符串上调用它时,它说不匹配,因为显然matches.size是1而不是零。里面似乎有一个空元素。谁能解释一下为什么? 最佳答案 您的正则表达式是错误的-如果您希望它仅匹配大写字符串,请使用/^[A-Z]+$/。 关于ruby-用于匹配大写字母的正则表达式