使用 Ruby 正则表达式使用常规双引号转义 '“'

2024-02-20

我的文本包含这些奇特的双引号:'“',我想使用 Ruby gsub 和正则表达式将它们替换为常规双引号。这是一个例子以及我到目前为止所拥有的:

sentence = 'This is a quote, “Hey guys!”'  

I couldn't figure out how to escape double quotes so I tried using 34.chr:
sentence.gsub("“",34.chr).  This gets me close but leaves a back slash in front of the double quote:

sentence.gsub("“",34.chr) => 'This is a quote, \"Hey guys!”' 

反斜杠仅出现在irb由于它打印语句结果的方式。如果您通过gsubed 字符串到另一种方法,例如puts,您将在转义序列转换后看到“真实”表示。

1.9.0 > sentence = 'This is a quote, “Hey guys!”'  
 => "This is a quote, \342\200\234Hey guys!\342\200\235" 
1.9.0 > sentence.gsub('“', "'")
 => "This is a quote, 'Hey guys!\342\200\235" 
1.9.0 > puts sentence.gsub('“', "'")  
This is a quote, 'Hey guys!”
 => nil

另请注意,输出后puts, 我们看=> nil表明打电话给putsnil.

您可能注意到,有趣的引用仍然位于输出的末尾puts:这是因为引号是两个不同的转义序列,而我们只命名了一个。但我们可以用正则表达式来解决这个问题gsub:

1.9.0 > puts sentence.gsub(/(“|”)/, 34.chr)
This is a quote, "Hey guys!"
 => nil

此外,在许多情况下,您可以在 Ruby 字符串中交换单引号和双引号——双引号执行扩展,而单引号则不执行扩展。您可以通过以下几种方法获取仅包含双引号的字符串:

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

使用 Ruby 正则表达式使用常规双引号转义 '“' 的相关文章

  • Rails 3 在 Ruby 1.9.2 上初始化非常慢

    我使用 RVM 来管理环境 安装了 Ruby 1 9 2 p136 我认为是最新版本 和 Rails 3 创建了 gemset 并运行捆绑器 到目前为止一切正常 但 Rails 在运行命令 即生成 销毁 rake 等 时初始化速度非常慢 完
  • Python re无限执行

    我正在尝试执行这段代码 import re pattern r w w s re compiled re compile pattern results re compiled search COPRO HORIZON 2000 HOR p
  • 如何在 jQuery 中将标题转换为 URL slug?

    我正在 CodeIgniter 中开发一个应用程序 我试图在表单上创建一个字段来动态生成URL slug 我想做的是删除标点符号 将其转换为小写 然后用连字符替换空格 例如 Shane s Rib Shack 将变成 shanes rib
  • 使用 attr_accessor 动态创建类属性

    在Ruby中 有没有办法动态地将实例变量添加到类中 例如 class MyClass def initialize create attribute name end def create attribute name attr acces
  • “rmagick”gem 安装问题

    我在尝试在 centos 上安装 rmagick gem 时遇到问题 以下是我得到的输出 谁能帮我识别一下我缺少什么包裹 我已经安装了所有提到的另一个堆栈溢出线程 RMagick安装错误 https stackoverflow com qu
  • REXML - 如何提取单个元素

    我正在用 ruby 编写一些验收测试 其中涉及断言响应 XML 中值的存在 我的 XML 是这样的
  • Nokogiri 保持 HTML 实体不变

    我希望 Nokogiri 保持 HTML 实体不变 但它似乎正在将实体转换为实际的符号 例如 Nokogiri HTML fragment p reg p to s 结果是 p p 似乎没有什么可以将原始 HTML 返回给我 inner h
  • rvm gem 安装错误?

    我正在摆弄 ruby gems 和 rvm 它工作得很好 但现在当我尝试安装 gem 时出现错误 gem install Rails错误 同时 执行 gem Errno EACCES 权限被拒绝 Users da rvm gems ruby
  • Grep 和 Python

    我需要一种通过 Unix 命令行中的正则表达式使用 grep 搜索文件的方法 例如 当我在命令行中输入 python pythonfile py RE file to be searched 我需要正则表达式 RE 在文件中搜索并打印出匹配
  • 从正则表达式对象中提取允许字符串的最大长度

    一旦加载到 C 中 是否可以从正则表达式模式中提取允许的字符串的最大长度Regex object 如果我有一个正则表达式字符串定义为 A Z0 9 0 20 我可以使用字符串操作来获取最大允许长度20 但是 有没有一种方法可以更轻松地实现这
  • Ruby/Rails 集合到集合

    我有两个表与一个连接表连接 这只是伪代码 Library Book LibraryBooks 我需要做的是 如果我有一个图书馆的 id 我想获取该图书馆拥有的所有书籍所在的所有图书馆 因此 如果我有图书馆 1 图书馆 1 中有书籍 A 和
  • 正则表达式查找字符串中的整数和小数

    我有一个像这样的字符串 str1 12 ounces str2 1 5 ounces chopped 我想从字符串中获取金额 无论它是否是小数 12 或 1 5 然后获取紧邻的前一个测量值 盎司 我能够使用一个非常基本的正则表达式来获取测量
  • 为什么我的 javascript regex.test() 给出交替结果[重复]

    这个问题在这里已经有答案了 可能的重复 Javascript 正则表达式返回 true 然后 false 然后 true 等等 https stackoverflow com questions 2630418 javascript reg
  • Python 非贪婪正则表达式

    我如何制作一个像这样的Python正则表达式 这样 给定 a b c d e 蟒蛇匹配 b 代替 b c d 我知道我可以使用 代替 但我正在寻找一种更通用的解决方案 使我的正则表达式更加干净 有没有办法告诉python 嘿 尽快匹配这个
  • Word通配符搜索的正则表达式查找包含至少3个连续数字的括号

    在以下示例中 airspeed AS user 104A 104B device 101 vehicles 105A C 搜索应该找到 104A 104B 101 and 105A C 但不是 AS 我尝试使用 0 9 0 9 0 9 但这
  • 使用哈希参数进行 DRY Ruby 初始化

    我发现自己经常在构造函数中使用哈希参数 尤其是在为配置或最终用户将接触到的其他 API 编写 DSL 时 我最终做的是类似以下的事情 class Example PROPERTIES name age PROPERTIES each p a
  • 创建正则表达式匹配数组

    在Java中 我试图将所有正则表达式匹配返回到一个数组 但似乎您只能检查模式是否匹配某些内容 布尔值 如何使用正则表达式匹配来形成与给定字符串中的正则表达式匹配的所有字符串的数组 4城堡的回答 https stackoverflow com
  • 为什么这些非捕获正则表达式组不能正常工作?

    所以我花了很多时间在另一个堆栈溢出问题上 同样的问题又出现在上一个问题上 非捕获组并没有像我期望的那样工作 至少我是这么认为的 这是一个愚蠢的例子 类似于其他人的 CSS 测试字符串 这是我的正则表达式 rgb S 这是测试字符串 1px
  • 为 RoR 中的每个用户创建新的 URL 路径

    如何在 Ruby on Rails 中实时创建新的 URL 路径 例如 我希望我的用户拥有 name XXX com 或 XXX com name 仅供参考 我在 Heroku 上托管代码 看看 subdomain fu 插件 https
  • 扩展 RegExp 以获取文件扩展名

    我知道 已经有很多基于 RegExp 的解决方案 但是我找不到适合我需求的解决方案 我有以下函数来获取 URL 的各个部分 但我还需要文件扩展名 var getPathParts function url var m url match w

随机推荐

  • Laravel 覆盖命名路线并采取错误的路线

    我在我的routes php 文件中定义了这个 Route post gestionAdministrador array as gt Loguearse uses gt AdministradorController Login Rout
  • 谷歌应用引擎上的 psycopg2 出现问题

    当我尝试在我的谷歌应用程序引擎应用程序中实现框架 Pony ORM 时遇到问题 关键是 Pony 使用 psycopg2 PostgreSQL 适配器 当我尝试向数据库发出请求时 它会引发一个异常 它找不到 psycopg2 模块 在本地
  • data-sly-use、data-sly-resource、data-sly-include 和 data-sly-template 之间有什么区别?

    有什么区别 data sly use data sly resource data sly include and data sly template 我正在阅读文档Sightly AEM我非常困惑 据我所知 data sly use用于添
  • 为 STL 随机数生成器编写工厂方法

    我正在尝试通过配置文件提供一个界面 以便我的用户为他们正在使用的某些参数选择一个发行版 我想使用 STL 随机数生成器算法来实现此目的 假设我的程序从命令行读取 JSON 对于下面提供的 JSON 程序需要意识到它应该根据给定均值和标准差的
  • C# 是否有一个好的 leveldb 端口? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我希望在我的纯 C 项目中使用 leveldb 我在 google 上搜索了 leveldb 的 C 版本 但没有找到 谁能告诉我在哪里可
  • JAXB 按原样使用 String

    我使用 REST 我想知道是否可以告诉 jaxb 将字符串字段 按原样 插入到传出的 xml 中 当然 我想在返回之前将其拆开 但我想节省这一步 XmlRootElement name unnestedResponse public cla
  • 在 Three.js 继承模式中对原型使用扩展有什么好处?

    使用优秀的 Three js 框架 目前正在寻找良好的 javascript 继承模式 我了解了 Three js 中所做的事情 我现在对正在发生的事情有了很好的了解 除了一些 类 例如 Vector3 特别是 我不清楚为什么有些方法是直接
  • 如何在 svelte 中访问 websocket?

    我正在尝试将 svelte 连接到 fastapi 后端 但使用 svelte 套件时出现此错误 我明白了 WebSocket is not defined ReferenceError WebSocket is not defined e
  • cherrypy.HTTPRedirect 使用绝对路径重定向到 IP 而不是主机名

    我在 nginx 后面运行 CherryPy 并需要处理重定向 在我的在 127 0 0 1 8080 上运行的开发机器上 这会正确重定向到 127 0 0 1 8080 login 然而 当通过 nginx 在cherrypy mydom
  • 将数据块读入matlab数组

    我有一个如下所示的数据文件 3 1 0 1 4 1 7 2 1 2 1 5 1 1 1 2 1 1 1 2 对于每一行 第一个整数表示该行中浮点数的数量 现在我想将所有数据加载到一个matlab数组中 并忽略第一列 也就是说 我想得到一个像
  • 原则:多个(whereIn OR whereIn)查询?

    我在用 Doctrine 编写一个相当简单的查询时遇到了麻烦 我有两个数组 countries cities 我需要检查数据库记录值是否与其中的任何一个匹配 我正在寻找类似的东西 gt whereIn country city countr
  • 当文件在其他进程中使用时删除该文件

    In DocumentViewerControl在 WPF 中 我想在关闭事件处理程序中关闭控件后删除该文件 我试图删除它 但 VS 告诉我它被另一个进程使用 我怎样才能删除它 TextBlock tb TextBlock e TabIte
  • Akka设计原则

    在开发一个相当大的 Akka 应用程序时 我在使用普通方法和非 Akka 类时遇到了一个非常简单的结构 但在使用 Akka 时实际上很难确定 这就是为什么我来这里问你什么建议是解决此问题的最佳方法 所以问题是这样的 我有一个父角色 我们称他
  • 在没有 Adob​​e Reader 的情况下将 pdf 文件显示到浏览器中

    我需要在没有 Adob e Reader 的情况下在浏览器中打开 pdf 文件 是否有 PHP 的 API 可以在浏览器中打开 PDF 文件 Regards No PHP 在服务器上运行 它可以访问的唯一 浏览器 API 是 HTTP 如果
  • 如何在非 root 运行的容器中安装新包?

    我需要在正在运行的容器中安装简单的包 例如curl 但我遇到了这个错误 apk add curl ERROR Unable to lock database Permission denied ERROR Failed to open ap
  • 将 System.out 和 System.err 重定向到 slf4j

    我需要重定向System out err println输出到 slf4j 我知道这不是正确进行日志记录的方法但有一个外部库 它记录到System out 您可以使用slf4j 上的系统输出 http projects lidalia or
  • 否定打字稿类型?

    我想在打字稿中创建一个简单的 NOT 运算符 您可以将所有基元组合到某种类型 A 的联合中 这些基元不是第二种类型 B 的联合的基元成员 这可以使用条件类型来完成 例如 如果您有类型 type A a b c type B c d e 然后
  • 如何从 ByteBuffer 获取短[]

    我在 Android 项目中使用 JNI 代码 其中 JNI 本机函数需要一个短 参数 但是 原始数据存储为 ByteBuffer 我正在尝试按如下方式转换数据格式 ByteBuffer rgbBuf ByteBuffer allocate
  • 同一库的多个版本

    我有项目 A 它曾经有模块 A1 使用 dagger v 1 2 2 现在我想添加到项目 A 模块 A2 它依赖于 dagger v 2 0 但我不能 因为这两个匕首库是冲突的 我可以在不同的 android 模块中以某种方式处理多个版本的
  • 使用 Ruby 正则表达式使用常规双引号转义 '“'

    我的文本包含这些奇特的双引号 我想使用 Ruby gsub 和正则表达式将它们替换为常规双引号 这是一个例子以及我到目前为止所拥有的 sentence This is a quote Hey guys I couldn t figure o