在 Ruby 中,我可以在不使用正则表达式的情况下检查字符串是否包含字母吗?

2024-01-05

我正在使用 Rails 5。我想知道一个变量(您可以假设它是一个字符串)是否至少包含一个字母(大写或小写)。但是,我不想使用正则表达式(我注意到如果编码不是 UTF-8,正则表达式往往会崩溃)。所以我想知道如何检查字符串是否至少有一个字母。

这不起作用

input.downcase.include?("abcdefghijklmnopqrstuvwxyz")

Try this

str.count("a-zA-Z") > 0

The count function https://ruby-doc.org/core-2.2.0/String.html#method-i-count接受字符集作为参数。

这可能仍然会失败ArgumentError: invalid byte sequence in UTF-8尽管。如果您的输入无效,则可能无法修复编码。

注意,这会扫描整个字符串,但也会downcase。有关性能基准,请参阅 Eric 的答案,最坏情况和最好情况之间的性能差异很大。与往常一样,可读性优先于过早的优化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Ruby 中,我可以在不使用正则表达式的情况下检查字符串是否包含字母吗? 的相关文章

  • 如何在Python字符串中替换括号及其中的文本

    我有两个这样的字符串 string1 Today I went to the market to pick up some fruit string2 Today I went to school to learn algebra and
  • 通过 SO_RCVTIMEO 套接字选项在 Ruby 中设置套接字超时

    我试图通过 SO RCVTIMEO 套接字选项在 Ruby 中设置套接字超时 但它似乎对任何最近的 nix 操作系统都没有影响 使用 Ruby 的 Timeout 模块不是一个选择 因为它需要为每个超时生成和连接线程 这可能会变得昂贵 在需
  • 未知属性:user_id

    我在执行 current user stories build 期间收到错误未知属性 user id class User lt ActiveRecord Base has many stories class name Story for
  • 黄瓜与 RSpec

    我想开始深入研究 BDD 我以前从未使用过 TDD 现在 不确定我是否应该从学习 RSpec 开始 然后跳到 Cucumber 或者直接使用 Cucumber 我一直在互联网上阅读有关两者的内容 在我看来 Cucumber 可能是 RSpe
  • 用于 S3 私有文件的 ActiveStorage

    到目前为止 我一直在使用 Paperclip 将一些文件上传到 S3 其中一些文件不是公开的 Paperclip 允许通过以下位将一些文件作为私有文件上传 has attached file image styles large 2000x
  • 为 Rails 上的 postgresql 创建用户

    我选择 postgresql 作为我的 Rails 数据库 但当我尝试运行 rake db create all 时 我遇到了一个明显常见的错误 即 致命 角色 app 不存在 我找到了两种解决方案 但我不确定哪一种是正确的 有一个网站说
  • Visual Studio IIS 工作正常,但在 IIS 7 脚本中托管时获取错误的 URL?

    Hi 我有一个 ASP NET MVC 站点 我在 MasterPage 中使用以下链接
  • Rails 4.1 环境变量未重新加载

    我创建了一个application yml文件在配置目录中并添加了一些键值对 即AWS REGION us east 1 我还添加了以下内容application rb读取文件并更新 ENV 哈希 if Rails env developm
  • 由于 MIME 类型不受支持,拒绝应用样式

    我不断收到一条错误消息 指出 MIME 类型 text html 不可执行或不是受支持的样式表 MIME 类型 并且启用了严格的 MIME 检查 我的链接代码是
  • 在 Yosemite 上安装 Ruby 1.9.2 时出错

    我在 Yosemite 上使用 rvm 安装 ruby 1 9 2 时遇到错误 有人可以帮助我吗 我更新了自制程序和rvm 我正在与其他人合作处理这个项目 所以我无法升级 ruby 我在下面放置了我的输出的链接 提前致谢 Kanyons M
  • Rails 如何使用 send_data 导出数据,然后重定向到新页面?

    我有一个 Rails 应用程序 允许用户下载生成的 CSV 文件 下载文件后 我想将用户重定向到新的 URL 或操作 有没有在 send data 之后进行重定向的技巧 我想做这样的事情 这不起作用 send data output typ
  • 将一幅图像合成到另一幅图像上时,RMagick 透明度不起作用

    在下面的代码中 我尝试在一些山脉的图像上覆盖一个透明的正方形 我认为它会起作用 但是通过设置background color none 它不会使图像透明 结果是左上角有一个黑色方块 所需的结果是黑色方块应该是透明的 require open
  • 更改 Active Storage 的默认 URL

    我们可以更改从活动存储创建的默认 永久 url 以重定向到 S3 类似于rails active storage representations 我不喜欢网址中的框架名称 Thanks UPDATE 最近 Rails 6 中增加了一个可配置
  • 如何将 devise/omniauth 重定向到我登录的页面?

    我通过omniauth 进行了身份验证 并且该链接通过layout application html haml 在每个页面上都可用 然而 当他们完成omniauth身份验证后 他们都会进入root权限 我如何设置它 以便他们重定向到他们单击
  • Rails 4 可安装引擎,找不到文件“jquery”

    我正在创建一个 Rails 可安装引擎插件 它使用 gem jquery rails 我在 gemspec 文件中添加了这段代码 s add dependency jquery rails gt 3 0 1 and run bundle i
  • 从数组中删除空白元素

    当我从 ruby on Rails 表单中保存多个选择时 它似乎在前面添加了一个空白元素 我该如何删除它 该字段为 selected player utf8 gt authenticity token gt H8W7qPBezubyeU0a
  • Python 3:将字符串转换为变量[重复]

    这个问题在这里已经有答案了 我正在从 txt 文件读取文本 并且需要使用我读取的数据之一作为类实例的变量 class Sports def init self players 0 location name self players pla
  • 查找 Rails 应用程序中未使用的代码

    如何查找正在运行和未运行的代码生产中 该应用程序经过充分测试 但还有很多测试unused代码 因此 他们在运行测试时得到覆盖 我想重构并清理这个烂摊子 它一直在浪费我的时间 我有很多后台工作 这就是为什么我希望生产环境来指导我 在 Hero
  • 将记录批量插入到 Active Record 表中

    我发现我的Model create 当我一次添加大量记录时 语句需要很长时间才能运行 看着ActiveRecord 导入 https github com zdennis activerecord import wiki但它不适用于哈希数组
  • Rails:Passenger Standalone 适合生产部署吗?

    问题标题几乎概括了这一点 我找不到任何好的资源来概述使用 Phusion Passenger Standalone 进行 Rails 应用程序部署的优点 缺点 它与运行 Passenger Nginx 或 Passenger Apache

随机推荐

  • 跨两个表的 SQL SELECT

    我对如何处理这个 SQL 查询有点困惑 我有两个表 记录数相同 我想返回一个列 该列是两者之间的除法 换句话说 这是我的无法正常工作 query SELECT SELECT v FROM Table1 SELECT DotProduct F
  • 升级到 NDK 14 后无法在 C++ 代码中找到声明

    我更新了 Android Studio 2 3 以使用 NDK 14 当您使用代码时 一切都按预期工作 代码编译并且应用程序按预期运行 然而 由于某种原因 当您尝试跳转到任何 C 对象 函数 变量的减速时 您会收到一条消息 工作室 无论代码
  • 如何在服务器发布操作结果后打开新选项卡

    情况是这样的 我有一个保存和一个打印按钮
  • 在php中将数字转换为字符串

    在下面我尝试过 code string code 没有成功 如何在 PHP 中将数字转换为字符串 code 087326487326 strlen strlen code print strlen br for i strlen i gt
  • python列表循环技术语法[重复]

    这个问题在这里已经有答案了 我正在读一本article http www peterbe com plog uniqifiers benchmark关于 python 删除列表中的重复元素 有一个函数定义为 def f8 seq Dave
  • 将 unique_ptr 与成员函数指针一起使用时出错

    我有一堂课如下 class A public A int key m key key int Key const return m key private int m key 我测试使用 unique ptr 和成员函数指针 int A M
  • SwiftUI TabBar:点击当前选定选项卡的 TabItem 来重置视图的操作

    我正在开发的应用程序基于 TabBar 当我在选项卡上时 我希望能够再次单击 tabItem 来重置视图 类似于 Twitter 在其 tabBar 中的做法 但我不知道如何识别该操作 向 TabItem 添加按钮不起作用 添加 ontap
  • MATLAB 图形在插入 LaTeX 时不具有相同的大小(尽管使用相同的代码生成)

    我正在 MATLAB 中生成一些图形 并尝试将它们插入到 LaTeX 中 然而 当我这样做时 它们通常没有相同的大小 尽管我使用相同的设置来生成它们 例如 我当前使用的 MATLAB 代码是这个 lsize 16 Label fontsiz
  • 如何使用“kubectl patch --type='json'”更新秘密

    我创建了一个这样的秘密 kubectl create secret generic test from literal username testuser from literal password 12345 我想将用户名更新为testu
  • 如何为 msbuild.exe 指定其他包含目录

    我正在尝试安装 nodejs 模块 ibm db 我遇到的问题是 为了安装此模块 node gyp 需要使用 msbuild 构建它 但它不会检测我已安装的一些头文件 如何将附加头文件的目录添加到某个路径 以便 msbuild exe 在尝
  • 识别字符串中的特殊非字母数字字符

    我正在研究密码验证 该验证应该只允许 a z 0 9 和这些字符 lt gt 我尝试使用正则表达式 但我不太擅长使用它们 而且我不确定这是否可能 或者我是否没有转义正确的字符 var allowedCharacters A Za Z0 9
  • VTKCamera焦点和位置的差异

    我正在使用 vtkCamera 并尝试移动它并使其看起来在某个点 例如 如果我想把相机放在 x y z 并让它看看 0 0 0 例如 使用 openGL 中的 gluLookAt 我们会将眼睛坐标设置为 x y z 和中心坐标 0 0 0
  • Angular 6服务注入Interceptor后未定义

    我找不到任何方法来注入我的认证服务 inside 错误处理拦截器 它返回给我一个 不明确的 注入后的对象 否则会抛出错误 这是我的错误处理拦截器 import Injectable from angular core import Auth
  • 为列表列表中的每个列表创建单独的 Counter() 对象和 Pandas DataFrame

    我能找到的所有其他答案都专门提到了在列表列表中聚合所有嵌套列表 而我希望为每个列表单独聚合 我目前有一个列表列表 master list a a b b b c c c d d d a a a c c c c c c a a f f f 我
  • Netbeans 中的 Arduino(处理)库和控制

    我正在尝试控制 4 个 LED 并从 4 个触点获取模拟输入 该程序是用java编写的 因此要访问arduino的功能 例如AnalogRead 和将LED设置为高或低 导入处理库可以让程序使用这些功能吗 我还想知道 如果程序会自行传输到a
  • Durandal 登录页面重定向模式

    TL DR要求用户登录才能查看 Durandal 单页面应用程序 SPA 中的某些页面的好模式是什么 我需要一个系统 如果用户尝试导航到需要登录的 页面 他们会被重定向到登录页面 在此登录页面上成功进行身份验证后 我希望应用程序将它们重定向
  • XSLT 默认模板混淆

    我对 XSLT 处理器节点的方式感到困惑 假设我有一个像这样的 XML 文档
  • 将大数据写入套接字时最小化副本

    我正在编写一个处理图像 大数据 的应用程序服务器 在将图像数据发送回客户端时 我试图尽量减少副本 我需要发送给客户端的处理后的图像位于从 jemalloc 获得的缓冲区中 我想到的将数据发送回客户端的方式是 1 简单的写调用 Allocat
  • 由于表已存在而无法插入表中?

    我有一个用户表 我想将数据插入到我的用户表中 我有一个声明 SELECT columna columnb INTO my table FROM my other table WHERE conditions 我收到以下错误 SQL Serv
  • 在 Ruby 中,我可以在不使用正则表达式的情况下检查字符串是否包含字母吗?

    我正在使用 Rails 5 我想知道一个变量 您可以假设它是一个字符串 是否至少包含一个字母 大写或小写 但是 我不想使用正则表达式 我注意到如果编码不是 UTF 8 正则表达式往往会崩溃 所以我想知道如何检查字符串是否至少有一个字母 这不