英文句子转驼峰式方法名

发布于 2024-09-10 04:35:17 字数 220 浏览 7 评论 0原文

我必须将一系列句子转换为驼峰命名的方法名称。我为此写了一些东西。我仍然很好奇是否有更简单的东西。

给定字符串 a = "This is a test." 输出 thisIsATest

我用于以下目的:

a.downcase.gsub(/\s\w/){|b| b[-1,1].upcase }

I had to convert a series of sentences into camel-cased method names. I ended writing something for it. I am still curious if there's something simpler for it.

Given the string a = "This is a test." output thisIsATest

I used for following:

a.downcase.gsub(/\s\w/){|b| b[-1,1].upcase }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

那一片橙海, 2024-09-17 04:35:17

不确定它作为您的解决方案更好,但它应该可以解决问题:

>> "This is a test.".titleize.split(" ").join.camelize(:lower)
=> "thisIsATest."
  • titleize: 大写每个单词的每个第一个字母
  • split(" ").join: 使用每个单词创建一个数组并连接以挤出空格
  • camelize(:lower):将第一个字母设为小写

您可以在 Rails 文档中找到一些更有趣的函数: http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html

Not sure it's better as your solution but it should do the trick:

>> "This is a test.".titleize.split(" ").join.camelize(:lower)
=> "thisIsATest."
  • titleize: uppercase every first letter of each word
  • split(" ").join: create an array with each word and join to squeeze the spaces out
  • camelize(:lower): make the first letter lowercase

You can find some more fun functions in the Rails docs: http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html

心凉 2024-09-17 04:35:17
"active_record".camelize(:lower)

输出:“activeRecord”

使用这些

"active_record".camelize(:lower)

output : "activeRecord"

use these

生生漫 2024-09-17 04:35:17
"Some string for you".gsub(/\s+/,'_').camelize(:lower) #=> "someStringForYou"
  1. gsub:用下划线替换空格
  2. camelize:类似java的方法camelcase
"Some string for you".gsub(/\s+/,'_').camelize(:lower) #=> "someStringForYou"
  1. gsub: Replace spaces by underscores
  2. camelize: java-like method camelcase
绮烟 2024-09-17 04:35:17

您可以尝试使用“English”gem,可在 http://english.rubyforge.org/ 获取

require 'english/case'

a = "This is a test."

a.camelcase().uncapitalize() # => 'thisIsATest

You might try using the 'English' gem, available at http://english.rubyforge.org/

require 'english/case'

a = "This is a test."

a.camelcase().uncapitalize() # => 'thisIsATest
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文