在 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 中,我可以在不使用正则表达式的情况下检查字符串是否包含字母吗? 的相关文章

  • php洗一副牌

    我想使用 php 创建随机桥手的集合 我认为我可以将有序的卡片包编码为字符串 deal下面 我喜欢它有 52 个字母 同时考虑大小写 我发现了 php 函数str shuffle 所以我想我可以做以下事情 pack abcdefghijkl
  • Ruby IMAP 库:如何显示文件夹中的所有邮件?

    我需要一个脚本来获取所有文件夹中的所有电子邮件 并对其及其附件进行本地备份 here https www ombulabs com blog ruby imap a comprehensive guide to interacting wi
  • 将 mongoid 会话设置为只读

    我有不同的会话mongoid yml 其中一个会话提供来自静态 mongo 数据库的数据 我想知道是否有可能以只读模式 加载 会话 以便不进行任何更改save create destroy or destroy all可以制作 我的mong
  • 错误“无法将参数 '1' 的 'std::basic_string' 转换为 'const char*' 到 'int system(const char*)'”

    当我尝试编译脚本时 出现此错误 类型 const char 和 const char 6 到二进制 operator 的操作数无效 这里应该是错误 string name john system quickscan exe resoluti
  • 是否仍然可以在 Rails 4 中使用测试单元?

    从 Rails 3 2 升级到 Rails 4 后 我的应用程序可以运行 但我用测试单元编写的测试是一场灾难 据传 Minitest 与测试单元 兼容 然而 如果我尝试使用 现在捆绑的 Minitest 就会发现有很多差异 从断言 语句名称
  • MonkeyPatching ActiveJobs

    我在 ActiveJobs 的猴子修补部分遇到问题 我在 config initializers extensions arguements rb 中有以下代码 module ActiveJob module Arguments TYPE
  • 使用 Figaro 和 Secrets.yml 管理环境变量

    我有一个 Rails 4 1 应用程序 我正在尝试组织我的环境变量 截至目前 我的 config 文件夹中有一个 Secrets yml 文件 我还安装了费加罗宝石 我的目标是将所有环境变量放在 application yml 未签入 gi
  • 如何在二维数组中找到字符串?

    我有一个看起来像这样的数组 var array a b c d e f 我希望能够在数组中搜索字符串 d 并返回对应的值 c try function find str array for var i in array if array i
  • 国家/地区的下拉菜单

    您好 我想为国家和州实现下拉菜单 州下拉列表应根据所选国家 地区更改其值 有没有任何插件或 gem 可以在 Rails 中执行此操作 尝试卡门插件 http autonomousmachine com posts 2009 4 1 carm
  • 关于 Windows、原始鼠标数据的代码要 #include 哪些内容

    我发现下面的帖子对于做我自己的项目非常有用 那么新手问题是 我必须包含什么才能使其发挥作用 Link 如何准确测量具有已知 DPI 的鼠标的鼠标移动 以英寸或厘米为单位 https stackoverflow com questions 1
  • 如何在 Ubuntu 中使用 gems?

    我最近升级到 Ubuntu 9 04 但在使用 gems 时遇到问题 我使用 apt get 安装了 Ruby Rubygems 和 Rails 这rails命令确实有效 然后我安装了 capistrano 和其他 gem 例如 herok
  • Twitter Bootstrap Modal 无法在 Rails 中工作

    我还很新Rails and to twitter bootstrap 我正在研究模态 但我收到了 NoMethodError 未定义的方法 渲染 当我删除 代码来自my release js erb页面 它消失但没有窗口出现 另外 还有错误
  • 没有 DateAdd() 的 SSIS 表达式前一个日期

    目前正在开发一个包 它将表达式从先前的日期传递到文件名 我当前的代码如下作为字符串变量 DT WSTR 20 DATEPART YYYY Dateadd DD 1 dateadd MM datediff MM DT DATE 1900 01
  • 在 Rails 6 上添加外部 js 文件

    我在 app gt javascript gt packs 下创建了一个名为 custom 的文件夹 并放置以下外部 js metisMenu min js startmin js 然后在 app gt javascript gt pack
  • Java 字符串哈希码缓存

    字符串不变性的优点之一是哈希码缓存以实现更快的访问 在这种情况下 如何处理具有相同哈希码的字符串的缓存 在这种情况下它真的能提高性能吗 在这种情况下 如何处理具有相同哈希码的字符串的缓存 被缓存的是字符串的哈希码 它被缓存在私有的int字符
  • 用于从 Open3.popen3 标准输出中提取值的正则表达式

    如何获取外部命令的输出并从中提取值 我有这样的事情 stdin stdout stderr wait thr Open3 popen3 path foobar configfile if exit 0 wait thr value to s
  • 在 Rails 中使用 config.assets.precompile 将资源包含在子目录中

    我有一个在 Heroku 上运行的 Rails 3 1 3 应用程序 通过 S3 进行资产托管asset sync 包含在我的app assets css目录是一个包含两个文件的子目录 main css scss and categorie
  • 加载新的 Turbo Frame 时如何执行 JavaScript

    我在 Rails 应用程序中使用 Turbo Frames 并且在每个页面上都有
  • Heroku 带宽和空间

    Heroku 对于免费应用程序支持多少流量带宽和磁盘空间 Heroku 免费版有一个 5 MB 的数据库和 1 个 dyno dyno 是运行并响应请求的应用程序的实例 此外 您的 slug 的大小有 100 MB 的限制 这包括您使用的所
  • 使用 Scala 在 Apache Spark 中拆分字符串

    我有一个数据集 其中包含以下格式的行 制表符分隔 Title lt t gt Text 现在对于每个单词Text 我想创建一个 Word Title 一对 例如 ABC Hello World gives me Hello ABC Worl

随机推荐

  • 跨两个表的 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 正则表达式往往会崩溃 所以我想知道如何检查字符串是否至少有一个字母 这不