插入转义字符

2023-12-03

我想用转义字符值替换并插入转义字符序列,同时考虑到“\”会使转义字符无效。

例如

"This is a \n test. Here is a \\n which represents a newline"

在 Ruby 中实现这一目标的最简单方法是什么?


我假设您提到的是以下问题:

"\\n".gsub(/\\\\/, "\\").gsub(/\\n/, "\n") # => "n"
"\\n".gsub(/\\n/, "\n").gsub(/\\\\/, "\\") # => "\\\n"

String#gsub可以采用块参数来执行替换。

str.gsub(/\\(.)/) do |s|
  case $1
  when "n"
    "\n"
  when "t"
    "\t"
  else
    $1
  end
end

这样,就不会首先替换特殊的转义序列,并且一切都会按预期工作。

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

插入转义字符 的相关文章

  • 字符串向量上的连接运算符相当于什么?

    我无法找到向量上 连接 运算符的 Rust 等效项Strings 我有一个Vec
  • 如何判断一个字符串是否包含特定子串

    给定一个字符串A 如何确定该字符串是否包含子字符串 video x flv A indexOf video x flv gt 0
  • 奇怪的java字符串数组空指针异常[重复]

    这个问题在这里已经有答案了 这个问题是在实践测试中出现的 创建一个新的字符串数组 将其初始化为空 然后初始化第一个元素并打印它 为什么会出现空指针异常呢 为什么它不打印 一 这与字符串不变性有关吗 public static void ma
  • 未签出...捆绑安装无法修复帮助!

    https github com intridea omniauth git at master is not checked out Please run bundle install Bundler GitError 那我该怎么办 捆绑
  • 默认更新嵌套属性

    我尝试更新 iProduction 这是生产中的嵌套表单 但此行出现参数错误 参数数量错误 0 代表 1 生产 update iproducts attributes cow id cow 我的创作动作制作 def create produ
  • C++:字符串流有什么好处?

    谁能告诉我一些在 C 中使用字符串流的实际例子 即使用流插入和流提取运算符输入和输出到字符串流 您可以使用字符串流来转换任何实现operator lt lt 到一个字符串 include
  • 安装 Ruby 后,MAC OS X 上的活动开发人员路径无效

    我收到此错误 xcrun 错误 无效的活动开发人员路径 Applications Xcode app 缺少 xcrun Applications Xcode app usr bin xcrun This solution https sta
  • 在 Rails ActiveAdmin 视图中添加指向 Flash 通知的链接

    我正在尝试在活动管理控制器成功创建操作的闪存消息中添加链接 但是该链接的 HTML 被转义并在视图上显示为纯文本 Rails 5 2 1 ruby 2 5 3p105 2018 10 18 修订版 65156 x86 64 linux 例如
  • Python 中的可变字符串

    你知道有一个提供可变字符串的 Python 库吗 谷歌返回的结果出奇的少 我发现的唯一可用的库是http code google com p gapbuffer http code google com p gapbuffer 它是用 C
  • java String.format 中的转义格式化字符

    这个问题几乎与这个 Net 问题 https stackoverflow com questions 91362 how to escape brackets in a format string in net除了java 你如何逃脱 1
  • 无法在 IE 上运行 Selenium 脚本

    我必须在 IE 10 浏览器上运行 Selenium 测试 为了运行以下脚本 我执行了以下操作 下载IEDriverServer 64位 因为我的机器是64位 here http code google com p selenium dow
  • 需要 gem 是否会加载所有内容,包括我不使用的东西?

    Assume x是一颗宝石 包含两者Hello and Goodbye类 如果我写一个程序require x 但仅使用Hello班级 是个Goodbye类也加载了吗 您包含脚本或文件 而不是 gem With require x 你加载文件
  • 如何从 Ruby 模块中仅导入几个函数?

    假设我有一个带有以下方法的模块 function1 function2 function3 我想导入 function1 和 function2 但不导入 function3 有没有办法在红宝石中做到这一点 不确定是否有一种干净的方法来添加
  • R 获取子字符串和正则表达式?

    我有一组文件名字符串 我想提取 符号之后但文件扩展名之前的所有字符 例如 文件名之一是 HelloWorld you txt 我想返回字符串you 这是我的代码 hashPos grep name fixed TRUE dotPos len
  • Rails 应用程序在模型间保存方面遇到问题

    我正在开发一个从网站下载元标签并然后保存的应用程序 下载发生在一个名为Site 我想将下载的机器人元标签保存到一个名为的模型中robots tag它通过一个名为的连接表连接到站点meta tag sites 但是我在站点模型中编写的用于执行
  • Jekyll 站点仅在推送到 GitHub 时才会失败

    我正在使用 Jekyll 开发一个新版本的静态网站 该网站通过 Github 页面部署 https devcampy com https devcampy com 存储库 https github com gianarb devcampy
  • 替换打字稿中字符串中字符的所有实例?

    我正在尝试用 x 字符替换电子邮件中的所有句号 例如 电子邮件受保护 cdn cgi l email protection 将变为 myxemail emailxcom 电子邮件设置为字符串 我的问题是它不只是替换句号 而是替换每个字符 所
  • SWI Prolog 转义引号

    我需要在序言中将 放在字符串周围 我从另一个程序获取输入 看起来我无法转义该程序中的 因此我必须在序言中添加 否则序言语句将不起作用 感谢您的帮助 为了讨论strings https stackoverflow com a 39922411
  • 了解 Ruby 的加载路径

    我有点困惑为什么我的项目无法加载它需要的文件 这是一个非常简单的项目树 processor bin lib processor rb processor mapper rb reducer rb and my processor rb文件看
  • 为什么 strtok 会导致分段错误?

    为什么下面的代码给出了Seg 最后一行有问题吗 char m ReadName printf nRead String s n m Writes OK char token token strtok m 如前所述 读取字符串打印没有问题 但

随机推荐

  • Reachability 示例代码中的 SCNetworkReachabilityGetFlags 返回时间过长

    我在 iPhone4 上使用 iOS4 1 我还使用最新版本的可达性代码 我的设备没有连接 但代码似乎等待超时 否则设备需要很长时间才能报告可达性状态 在使用 iPhone 3gs 的 iOS 4 0 1 上似乎不会发生这种情况 还有其他人
  • 如何将日期固定为类似格式?

    我收到两种日期格式 1 22 2020 1 22 20 我需要转换1 22 2020 to 1 22 20 我目前使用以下内容 但我不确定如何在添加日期之前进行检查和转换 foreach header as field if preg ma
  • 布局充气器无法到达的语句

    我正在尝试使用将我的布局转换为java对象布局充气机但是当我尝试获取参考时LayoutInflater我的班级收到错误 声明无法访问 这是我的代码 package test app import android content Contex
  • 减速器中的条件

    Is it a bad在减速器中使用条件的想法 像这样的东西 case types SET SOME ACTION if typeof someElement undefined return Object assign state som
  • iOS 相机的亮度

    我正在尝试制作一个应用程序 我必须像这个应用程序一样计算相机的亮度 http itunes apple com us app megaman luxmeter id455660266 mt 8 我找到了这个文件 http b2cloud c
  • 在 R 中获取每年 11 月的第四个星期三

    我有一个时间索引矩阵 xts 对象 我只想要每年 11 月的第四个星期三 require quantmod getSymbols GSPC from 1900 01 01 returns GSPC GSPC WED lt weekdays
  • 拖动一张图像会拖动另一张图像

    当我拖动上传图片的右侧部分在 mask1 中 比 mask2 中上传的图像正在拖动 但这不应该发生 Here is 视频链接 另外 如果我仅在蒙版 1 中上传图像并尝试拖动 图像将会消失 但如果我在两个蒙版中上传图像 则图像不会消失 视频链
  • 获取快捷方式文件夹的目标

    如何获取快捷方式文件夹的目录目标 我到处搜索 只找到快捷方式文件的目标 我认为您需要使用 COM 并添加对 Microsoft Shell Control And Automation 的引用 如中所述这篇博文 这是使用此处提供的代码的示例
  • 如何从C调用C++编写的lib?

    在我看来 这似乎是理所当然的事情 但我找不到任何反对或支持它的信息 从 demangle 等角度来看 我不认为这是一个大问题 但我无法弄清楚 如何编写一个小型 C 程序来调用一个小型 C 库中的函数 我现在在linux上 尝试静态绑定 这肯
  • MSBuild 脚本和 VS2010 发布应用 Web.config 转换

    因此 我已经安装了 VS 2010 并且正在为 TeamCity 构建集成修改 MSBuild 脚本 除了一个例外 一切都运行良好 我如何告诉 MSBuild 我想要应用发布构建时创建的 Web config 转换文件 我有以下内容 可以生
  • 如何使用 Plotly-Dash 调整滑块和选择器的范围

    我正在尝试重新创建这个 Plotlyexample使用 Dash 但我无法获取按钮和范围滑块 有谁知道我该怎么做 这就是我尝试过的 traces x df index y df level type scatter mode lines n
  • 自定义委托

    我想知道如何使用自定义委托 也许一个例子会对您有所帮助 import
  • 在不以科学记数法显示的情况下,JavaScript 数字可以有多小?

    我编写了一些代码 将数字四舍五入到给定的小数位数 但在出现下溢时会使用更多位 以避免四舍五入到零 这对用户来说信息量不够 但我注意到偶尔会有一小部分数字以科学计数法显示 我的目标用户预计不会适应科学记数法 无论如何 即使在处理下溢之后 这些
  • 开发模式下Rails自动重载插件

    我试图拥有一个插件 每次更改代码时我都会开发自动重新加载 模拟 Rail 开发模式中通常发生的相同自动重新加载 我的插件主要是一个 ActiveRecord mixin 模块 我已经尝试了在相关谷歌搜索中找到的所有建议 还没有任何效果 在我
  • Eclipse ADT 插件 - 图形布局工具滞后并占用内存

    Win7 64位 12GB内存 i7 ADT v 16 01 我的图形布局工具表现得很奇怪 每次我进行单个更改时 布局上方的工具按钮都会闪烁 并且它会 工作 大约 10 秒 直到最终完成更改 在此过程中 javaw exe 对于我执行的每个
  • 如何更改 Qt 上标题(水平/垂直)QTableWidget 的背景颜色?

    我想知道如何更改对象标题 水平 垂直 的背景颜色QTableWidget on Qt 我已经知道如何使用以下方法一起更改所有标题 ui gt tableWidget gt setStyleSheet QHeaderView section
  • 收到致命警报:handshake_failure

    我正在尝试使用以下方式向我的设备发送推送通知javapns图书馆在liferay 这是代码 private void pushNotification ActionRequest actionRequest ActionResponse a
  • 正则表达式替换电子邮件地址域?

    我需要一个正则表达式来混淆我拥有的数据库转储文件中的电子邮件 我想用一组域替换所有域 例如 fake com所以我不会冒险在开发过程中向真实的人发送电子邮件 电子邮件必须是唯一的才能匹配数据库限制 因此我只想替换域名并保留用户名 我目前有这
  • 如何添加“再玩一次”? java 的功能

    我正在为我的班级制作一个猜谜游戏 当您猜到正确的数字时 我需要一些帮助来在游戏结束时添加 再玩一次 功能 public class GuessingGame public static void main String args Scann
  • 插入转义字符

    我想用转义字符值替换并插入转义字符序列 同时考虑到 会使转义字符无效 例如 This is a n test Here is a n which represents a newline 在 Ruby 中实现这一目标的最简单方法是什么 我假