ruby - 从字符串中删除所有非字母、非数字字符?

标签 ruby regex string

如果我想删除像这样的东西: .!,'"^-# 来自一个字符串数组,我将如何在保留所有字母和数字字符的同时解决这个问题。

允许的字母字符还应包括带有变音符号(包括 à 或 ç)的字母。

最佳答案

您应该使用具有正确字符属性的正则表达式。在这种情况下,您可以反转 Alnum 类(字母和数字字符):

"◊¡ Marc-André !◊".gsub(/\p{^Alnum}/, '') # => "MarcAndré"

对于更复杂的情况,假设您还需要标点符号,您还可以构建一组可接受的字符,例如:

"◊¡ Marc-André !◊".gsub(/[^\p{Alnum}\p{Punct}]/, '') # => "¡MarcAndré!"

所有角色属性可以引用doc .

关于ruby - 从字符串中删除所有非字母、非数字字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246142/

相关文章:

将字符串元素与 ASCII 值进行比较

ruby - CSV 仅返回字符串。我需要保留值类型

ruby-on-rails - Twilio-Ruby 验证失败

ruby-on-rails - Rails.application.credentials.dig 不工作

javascript - 将单词与空格匹配

java - 将字符串拆分为不包含空元素的数组

sql - 如何使用 ActiveRecord 编写连接查询?

java正则表达式匹配

mysql - 将字符串转换为日期格式并检索周数

javascript - 如何使用 for 循环和拼接来删除单词,然后检查数组中的特定单词