对包含特殊字符的字符串数组进行排序

2024-02-21

在 Rails 3 中,如何对包含特殊字符的字符串数组进行排序。

I have:

[Água, Electricidade, Telefone, Internet, Televisão, Gás, Renda]

但是当我调用sort在数组上Água被发送到数组的末尾。


这是我的方法:

class String
  def to_canonical
    self.gsub(/[áàâãä]/,'a').gsub(/[ÁÀÂÃÄ]/,'A')
  end
end

['Água', 'Electricidade', 'Telefone', 'Internet', 'Televisão', 'Gás', 'Renda'].sort {|x,y| x.to_canonical <=> y.to_canonical}

事实证明,这对于其他正则表达式也很有用,可以以最适合您的方式实现 to_canonical 方法,在本示例中仅涵盖了这 2 个正则表达式。

希望这个替代方案有帮助。 :)

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

对包含特殊字符的字符串数组进行排序 的相关文章

  • 带完整堆栈跟踪的单元测试

    这似乎是一个愚蠢的问题 但我无法在任何地方找到答案 我正在使用 Rails 3 1 和 Test Unit 当测试失败时 我只能看到堆栈的顶部 例如 ERROR creating a message sends emails 1 35s N
  • 如何在 Rails 模型中获取 request.uri?

    request request 当我在控制器中写这个时 它就会起作用 但是如果我在模型或应用程序控制器中需要这个变量 我该怎么办 模型存在于 Web 请求的上下文之外 您可以在 irb 中实例化它们 可以在延迟作业或脚本等中实例化它们 如果
  • Rails:统计用户未读通知的数量

    我目前有一个处理用户活动通知系统的活动模型 当发生某些操作 例如创建新文章 时 活动观察者会创建一个新活动 现在我想记录当前用户尚未看到的这些活动通知中有多少 类似于 facebook 上的通知宝石 每次用户单击通知链接时 数字应重置为 0
  • Rails 4 - 如何在活动记录查询中为includes()和joins()指定别名

    我如何给出别名 例如includes 给出如下 用户 活动记录模型 Student 活动记录模型 继承自User STI Teacher 活动记录模型 继承自User STI 项目 活动记录模型 这里有一些例子 第一个案例 更多性传播感染协
  • Rails 中多表单复选框的数据库结构

    我正在开发一个 Rails 应用程序 允许用户创建时间表 这样做时 他们应该能够选择事件发生在一周中的哪几天 我计划在表单中执行此操作的方式是每个工作日旁边有一个复选框 如下所示 etc 然而 我发现这可能不是处理这个问题的非常有效的方法
  • Rails:控制文件存储缓存大小

    Rails 中基于文件的缓存的文档说 请注意 缓存将不断增长 直到磁盘已满 除非您 定期清除旧条目 不幸的是 它没有提供任何有关如何定期清除旧条目的信息 是否设置合适的值 expires in完成这项工作还是清除缓存背后还有其他某种黑魔法
  • 未定义的方法“collection_check_boxes”

    我正在尝试制作一个发票应用程序 创建发票的表单应包含一组复选框 以便用户可以选择要开具发票的课程 但我收到此错误 undefined method collection check boxes 以下是涉及的模型 class Lesson l
  • 在Ruby On Rails中通过jquery的onclick函数传递对象的id

    我有一个控制器VendorController 查看文件是index html erb 我想通过 onclick 函数传递供应商的 id 这是我的代码 下的代码vendors controller rb def index vendor V
  • Rails 3、mysql/mysql2 将某些检索到的字符串误解为 ASCII-8BIT

    这个问题最初是常见的 字符编码不兼容 ASCII 8BIT 和 UTF 8 问题 但事实是not我在问什么 相反 我发现发生此问题是因为数据库的某些字段在检索时被标记为 ASCII 8BIT 而大多数字段正确显示为 UTF 8 例如 在包含
  • 带有日期的铁路路线

    因此 我有一个每周日历视图 并且设置了一条路线来接受 year month day 作为开始日期 match events year month day gt events index constraints gt year gt d 4
  • 为什么“jQuery-Rails”经常位于资产组之外

    为什么我经常看到gem jquery rails之外的 assets group group assets do gem sass rails gt 3 1 0 gem coffee rails gt 3 1 0 gem uglifier
  • 资产管道中的路由助手

    使用 Rails 3 1 0 rc4 我尝试访问 javascript 文件中的路由助手 本例中为 event js erb 但似乎此时它们尚未加载 当请求合并的 assets application js 文件时 我得到 throw Er
  • 使用 kaminari 查找给定记录的页面

    Ruby on Rails 3 项目 更新记录后 我们返回所有记录的索引 不是更新记录的视图 该索引通过 Kaminari 进行分页 我们如何返回到包含更新记录的索引页面 Java JPA Hibernate 有类似的问答使用 JPA Hi
  • Rails - 动态构建深度嵌套对象(Cocoon /nested_form)

    我目前有一个具有深层嵌套的复杂形式 并且我正在使用Cocoon https github com nathanvda cocoongem 根据需要动态添加部分 例如 如果用户想要在销售表单中添加另一辆车 代码如下所示 div class a
  • 更改迁移中的自动​​增量值(PostgreSQL 和 SQLite3)

    我有一个托管在 Heroku 上的项目 想要更改表的自动增量起始值 我在本地使用 SQLite3 Heroku 使用 PostgreSQL 这是我在迁移中所拥有的 class CreateMytable lt ActiveRecord Mi
  • 如何在 HAML 中为 Devise 生成视图

    这是我的 Gemfile gem haml group development do gem hpricot gem ruby parser end 然后我在终端 命令窗口中执行以下语句 bundle install rails gener
  • ActiveRecord:向包含的 ON 子句添加条件

    我有一个模型报价和另一个历史报价 一个报价有很多历史报价 现在 我想立即加载一组报价的某一天的历史报价 如果存在 为此 我认为我需要将这一天传递给 ON 子句 而不是 WHERE 子句 以便我获得所有报价 即使在给定日期没有历史报价时也是如
  • Rails - 安装 Spree 时出现问题

    我在 Rails 应用程序中安装 Spree 时遇到问题 当我运行 gem spree 时 按照说明http spreecommerce com documentation getting started html http spreeco
  • Rails - 用于集合集的单选按钮

    我有以下输出选择框 br 替代输出单选按钮的 Rails 方法是什么 对于单选按钮 您必须自行迭代并输出每个单选按钮及其标签 事实上这真的很容易
  • 用于验证目的的动态查找方法

    我正在使用 Ruby on Rails 3 0 7 我想在运行时查找一些记录以进行验证 但为该查找方法传递 设置一个值 也就是说 在我的班级中 我有以下内容 class Group lt lt ActiveRecord Base valid

随机推荐

  • UITableViewCell的UITextField子视图,获取cell的indexPath

    我添加了一个UITextField作为 a 的子视图UITableViewCell 然后我添加了一个target and selector这样我就可以知道什么时候UIControlEventEditingChanged 这很好用 但我想让你
  • ipad Web 应用程序:如何防止键盘在 jquery datepicker 上弹出

    我有一个带有日期字段的表单 上面附加了 jquery 日期选择器 当我选择日期字段时 日期选择器会弹出 但随后 iPad 键盘会滑入视图并遮盖日期选择器 在这种情况下如何防止键盘弹出 我使用了 Rob Osborne 解决方案的稍微修改版本
  • 如何在vs08中设置_win32_wce的预处理器定义

    如何在 vs08 中设置预处理器定义 默认情况下 win32 wce 的值为 CEVER set 但是当我构建项目时 出现错误 c1017 无效整数常量表达式 并警告环境变量 CEVER 和 ceplatform 未设置 但是当我设置它 w
  • Eclipse RCP 在编辑器中更改后更新视图

    我是 Eclipse RCP 新手 有以下场景 一个插件 即应用程序 另一个女巫是一个视图并且确实显示 一些数据 第三个是 编辑 在视图中 我可以右键单击记录并选择编辑 这会打开编辑器并让我更改数据 不 我想在保存编辑器时刷新视图 我认为这
  • LinearLayout 标记是否在 CardView 中使用

    我在 CardView 中使用了 LinearLayout 来获得一种社交媒体登录按钮的外观 一切都运行良好 但 Android Studio 标记Element LinearLayout is not allowed here 我想知道为
  • EF 是否在 DbContext 的不同实例之间缓存实体?

    在 Asp net 中为每个查询创建 DbContext 是否会使 EF 仅从其缓存中读取数据 还是每次都会查询 DB 来获取整个集合 我了解每个 AppDomain 的元数据缓存 但是仅数据呢 上下文 使用 MVC4 Web API 前端
  • 如何将表中的所有数据导出为可插入的sql格式?

    我有一张桌子 称之为A table 在数据库中 称之为A db 在 Microsoft SQL Server Management Studio 中 有 10 行 我有另一个数据库 称之为B db 并且它有一个表 称之为B table 其列
  • 如何重新安装损坏的 npm

    我刚刚安装了节点v9 11 1当我尝试使用 npm 时 我不断收到以下错误 npm WARN npm npm does not support Node js v9 11 1 npm WARN npm You should probably
  • 将输出读取到文件 Node.js

    如何将输出写入文件 我尝试代替process stdout use fs createWriteStream temp export2 json 但它不起作用 var rl readline createInterface input fs
  • Spark Dataframe 除了方法问题

    我有一个减去两个数据帧的用例 所以我使用了数据框 except 方法 这在本地较小的数据集上运行良好 但是当我运行 AWS S3 存储桶时 except 方法没有按预期产生负值 分布式环境有什么需要注意的吗 有人遇到过类似的问题吗 这是我的
  • iPhone UIApplicationExitsOnSuspend 无效

    UIApplicationExitsOnSuspend 不会强制我的应用程序退出 我已经清理过目标 删除了应用程序 重建并重新安装了很多次 我真的需要退出我的应用程序 您是否链接了 SDK 4 该键仅在这种情况下有效
  • 如何从 R extrafontdb 取消注册已删除的字体

    我已经使用加载了我的字体 library extrafont font import 当我使用查看路径时 fonttable 该路径下有一些不再存在的字体 这给我以后带来了一些问题 如何从字体数据库中删除 取消注册它们 仅重新运行 font
  • Wordpress-如何检测当前页面是否是登录页面

    有没有比使用全局变量更好的方法 pagenow检测当前页面是否是登录页面 例如is admin 功能 if pagenow wp login php is admin Do something 有一个全局变量 current screen带
  • 在 Webstorm 中运行 Mocha 测试

    我使用以下 NPM 启动命令在 Webstorm 的终端窗口中运行 React 的 Mocha 测试 tsc mocha compilers js babel core register require test helper js tes
  • JavaScript:%s 或 %d 代表字符串?

    有人可以解释一下这里发生了什么吗 我懂了 d and s但我没有在代码的其他地方看到这些声明或写入 这在 JavaScript 中到底意味着什么 做什么 我假设这是一种我以前从未见过的字符串模板 passport deserializeUs
  • 在 JavaScript 中获取字符串中破折号后的所有内容

    在 IE 和 Firefox 中都可以使用的最简洁的方法是什么 我的字符串看起来像这样sometext 20202 Now the sometext破折号后面的整数可以有不同的长度 我应该只使用substring和索引还是还有其他方法 我将
  • Typescript 编译器错误 TS2307:找不到模块“jquery”

    我正在关注 JSPM 入门guide http jspm io docs getting started html我想安装 jquery 包 所以我执行以下命令 jspm install jquery 但是当我尝试将其导入打字稿时 如下所示
  • 如何对一组多列进行透视?以及如何从长格式恢复到原始宽格式?

    如果我有以下数据 D tibble tribble firm ind var1 1 var1 2 op2 1 op2 2 A 1 10 11 11 12 A 2 12 13 13 14 B 1 14 15 15 16 B 2 16 17 1
  • Websocket 不工作:意外响应代码 404

    我正在尝试使用 websockets 创建 javaee 应用程序 但无法让程序正常工作 使用 Tomcat 7 带有 Websockets 的 Java EE 7 应用程序 这是我的java代码 import javax websocke
  • 对包含特殊字符的字符串数组进行排序

    在 Rails 3 中 如何对包含特殊字符的字符串数组进行排序 I have gua Electricidade Telefone Internet Televis o G s Renda 但是当我调用sort在数组上 gua被发送到数组的