- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在尝试匹配这样的字符串:
text = "This is a #hastag"
raw(
h(text).gsub(/(?:\B#)(\w*[A-Z]+\w*)/i, embed_hashtag('\1'))
)
def embed_hashtag('data')
#... some code to turn the captured hashtag string into a link
#... return the variable that includes the final string
end
我的问题是,当我在使用 gsub 调用的 embed_hashtag 方法中传递 '\1'
时,它只是按字面意思传递 "\1"
,而不是从我的正则表达式中捕获的第一个组。有替代方案吗?
仅供引用:
我将文本包装在 h
中以转义字符串,但随后我将代码嵌入到需要原始传递的用户输入文本(即主题标签)中(因此 原始
).
将“#”符号与文本分开很重要,这就是我认为我需要捕获组的原因。
如果您有更好的方法,请不要犹豫告诉我,但我仍然想要一个答案,以便回答问题,以防其他人有这个问题。
最佳答案
gsub(regex){ $1 }
而不是 gsub(regex, '\1')
/\B#(\w+)/i
h()
助手,Rails 4 默认会逃避恶意输入embed_hashtag(data)
而不是 embed_hashtag('data')
embed_hashtag
link_to(text, url)
这应该可以解决问题:
def embed_hashtag(tag)
url = 'http://example.com'
link_to tag, url
end
raw(
text.gsub(/\B#(\w+)/i){ embed_hashtag($1) }
)
关于ruby-on-rails - ruby (Rails) gsub : pass the captured string into a method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24230877/
我正在编写一个程序,它将从 who 命令中提取信息并格式化输出。 普通 who 命令: user ip date (ip) user ip date (ip) user ip date (ip) us
我有一个包含以下数据的文件- 输入- A B C D E F A B B B B B C A C D E F A B D E F A A A A A A F A B C B B B 如果从第 2 行开
这个问题在这里已经有了答案: How to prevent regmatches drop non matches? (4 个回答) 5年前关闭。 我正在浏览一个字符向量(大约 10,000 个条目)
我想连续生成一个Employee_ID,我已经在数据库表中修复了一个初始员工ID。格式为“E36162000”,我从表中获取最后一个员工 ID,然后仅提取整数值,然后加一,这将是下一个 employe
使用以下函数,我转到一个站点,抓取一些信息,返回一些 JSON,并将其放入 @price 实例变量中。 返回给我的 JSON 是一个数字,但是如果数字大于 1000,那么数字将包含一个逗号,所以我将其
我在运行脚本时不断收到此错误。我对 Ruby 很陌生,所以请原谅我的傲慢。 我正在使用内置了 JRuby 支持的 Nuix 编写脚本。 这是我的代码; require 'benchmark' requ
我在 R 中工作,并且仅在没有左括号时才尝试删除右括号。我在下面尝试过,但没有返回所需的输出。 test <- data.frame(t1 = c("Book (Pg 1)", "Website On
我正在尝试从 Chandler 中删除标点符号和数字成为Chandler .这是我目前正在尝试的: df$city <- gsub("[[:punct:]]|[[:digit:]]", "", df$
我正在尝试生成结合 n 个高斯的函数,并使用从 nls 中检索到的值跑。我用 gsub用 nls 替换原始系数那些使用反向引用的。然而,似乎[在 \\1 之前对 datafame 进行评估. 这是一个
这个问题在这里已经有了答案: What regex will match every character except comma ',' or semi-colon ';'? (4 个回答) 5年前
我有一个日志数据集: V1 duration id startpoint T161[=]Pexplorer.exe[=]I1820[=]W20094[=]V6.00.2900.5512 777
我正在使用 local mystring = 'Thats a really nice house.' string.gsub(mystring,"% ", "/",1) 用斜杠替换第一个空格字符。
我有一些正在使用的 html 代码。我想提取某些字符串。 我想使用 从字符串 x 中提取它的首选基础 R :coleman_l, SMOG4 这是我所拥有的: x (hi)auto(coleman_l
我希望这是足够不同的相关,之前的帖子来证明它自己的线程是合理的;不幸的是,他们对我没有帮助。我认为我对部分替换的兴趣,加上通配符的使用迄今为止是独一无二的,但如果我只是没有足够仔细地搜索或阅读,我深表
我有一个字符串"ab b cde",即"ab[space]b[space]cde"。我想用空格替换“space-b”和“space-c”,以便输出字符串为"ab[space][space][space
我正在尝试清理一些文本字符串,以便我可以干净地解析出一些脚本信息。对于这些表格,括号中的信息表示脚本的位置或阻塞注释。 我想获取所有括号内的信息,并删除括号及其所有包含的字符。工作中的关键在于,由于数
任何人都可以通过 gsub 帮助实现以下目标在R? input string: a=5.00,b=120,c=0.0003,d=0.02,e=5.20, f=1200.0,g=850.02 desir
给定字符串: smple_paths <- c("/path/path/path/abc22/path/path", "/apath/apath/paath/abc1
似乎当我添加一个特殊字符时 gsub 不再适合我。 我如何使用带有此类字符的文本 print(string.gsub("a !foo walking", "%a+",{ ["!foo"] =
我有一批样本要提交给我的大学集群进行处理。我有超过 1000 个样本需要运行。不必手动创建脚本,我想知道我可以制作一个 for 循环来替换示例 ID。每个脚本本质上是相同的,我只需要更改示例 ID 和
我是一名优秀的程序员,十分优秀!