ruby - 如何删除 ruby 中的前导和尾随非字母字符

标签 ruby regex

我想删除字符串中所有前导和尾随的非字母字符。

例如。 ":----- pt-br:-" ,我想要 "pt-br"

谢谢

最佳答案

result = subject.gsub(/\A[\d_\W]+|[\d_\W]+\Z/, '')

将从字符串的开头和结尾删除非字母。

\A\Z 将正则表达式锚定在字符串的开头/结尾 (^/$ 也会匹配换行符之后/之前,这可能不是您想要的 - 但在这种情况下这可能无关紧要);

[\d_\W]+ 匹配一个或多个数字、下划线或任何其他非字母数字字符,只留下字母。

| 是交替运算符。

关于ruby - 如何删除 ruby 中的前导和尾随非字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3139261/

相关文章:

python - 什么最适合字符串提取或模式匹配 regex/awk/emacs lisp?

java - 如何使用正则表达式匹配仅包含字母数字字符、破折号和下划线的字符串

ruby - 通过 xvfb-run 运行 selenium ruby​​ 脚本时出错

python - Ruby 与 Python : which one is easier to keep track of different language versions?

c# - 在 C#.NET 中使用正则表达式从字符串中提取数据

regex - 在可能包含嵌套括号的括号之间提取内容,并将其余内容分组为一个整体,存储在 map 中

java - 正则表达式不匹配尾随文本

ruby - 使用 MiniMagick 编写带有标题方法的字符串

ruby-on-rails - 用于拆分用户和日期文本输入的 Ruby 正则表达式

c# - Rails 和 ASP.NET 单点登录