Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 将句子大写_Ruby_String_Activesupport - Fatal编程技术网

Ruby 将句子大写

Ruby 将句子大写,ruby,string,activesupport,Ruby,String,Activesupport,是否有一种方法(可能在Rails的某些库中)或一种简单的方法可以在不影响字符串其余部分的大写/小写状态的情况下大写字符串的第一个字母?我想用它来大写错误消息。我期待这样的事情: "hello iPad" #=> "Hello iPad" 试试这个 "hello iPad".camelize 试试这个 "hello iPad".camelize Ruby中有一个大写方法,但它会将字符串的其余部分降格。否则,您可以编写自己的: class String def capitalize_

是否有一种方法(可能在Rails的某些库中)或一种简单的方法可以在不影响字符串其余部分的大写/小写状态的情况下大写字符串的第一个字母?我想用它来大写错误消息。我期待这样的事情:

"hello iPad" #=> "Hello iPad"
试试这个

"hello iPad".camelize
试试这个

"hello iPad".camelize

Ruby中有一个大写方法,但它会将字符串的其余部分降格。否则,您可以编写自己的:

class String
  def capitalize_first
    (slice(0) || '').upcase + (slice(1..-1) || '')
  end

  def capitalize_first!
    replace(capitalize_first)
  end
end

编辑:首先添加了
大写字母变体。

Ruby中有一个大写方法,但它会将字符串的其余部分降格。否则,您可以编写自己的:

class String
  def capitalize_first
    (slice(0) || '').upcase + (slice(1..-1) || '')
  end

  def capitalize_first!
    replace(capitalize_first)
  end
end

编辑:首先添加了
大写字母变体。

相当笨拙,但它可以工作:

str = "hello IiPad"
str[0] = str[0].upcase #or .capitalize

虽然有点笨拙,但它确实有效:

str = "hello IiPad"
str[0] = str[0].upcase #or .capitalize

多亏了其他的答案,我意识到了一些我需要注意的问题,而且没有内在的方式。我研究了Vitaly Zemlyansky暗示的积极支持Rails的
camelize
的源代码,这给了我一个提示:那就是使用正则表达式。我决定用这个:

sub(/./){$&.upcase}

多亏了其他的答案,我意识到了一些我需要注意的问题,而且没有内在的方式。我研究了Vitaly Zemlyansky暗示的积极支持Rails的
camelize
的源代码,这给了我一个提示:那就是使用正则表达式。我决定用这个:

sub(/./){$&.upcase}

这真的会使这根绳子骆驼化。如果提供的字符串包含
一些\u UnderCores
,该怎么办?它将被骆驼化为
someunderline
。这是一个很好的技巧,但这将把“hello someStuff”变成“hello someStuff”。如果你没有任何下划线,那没关系,但如果没有下划线,可能会产生一些令人惊讶的结果(通常不欢迎惊喜),谢谢你的想法。虽然正如Remus和Jean所指出的,它有一个问题,但是查看
camelize
的源代码给了我一个提示。这将真正地camelize字符串。如果提供的字符串包含
一些\u UnderCores
,该怎么办?它将被骆驼化为
someunderline
。这是一个很好的技巧,但这将把“hello someStuff”变成“hello someStuff”。如果你没有任何下划线,那没关系,但如果没有下划线,可能会产生一些令人惊讶的结果(通常不欢迎惊喜),谢谢你的想法。尽管正如Remus和Jean所指出的那样,它有一个问题,但查看
camelize
的源代码给了我一个提示。
capitalize
来自ruby,而不是rails。我认为你的答案是最好的,但太冗长了。
capitalize
来自ruby,而不是rails。我认为你的答案是最好的,但是它太冗长了。您必须检查是否有空字符串,使用
str=“”
运行代码片段将崩溃。谢谢。我现在意识到我必须做一些事情来分别处理第一个字符。你必须检查是否有空字符串,使用
str=”“
运行代码片段将崩溃。谢谢。我现在意识到我必须做一些事情,分别对待第一个角色。