此字符串替换有效:
"reverse, each word".gsub(/(\w+)/, "\\1a")
=> "reversea, eacha worda"
Run Code Online (Sandbox Code Playgroud)
和这样,单引号基本相同:
"reverse, each word".gsub(/(\w+)/, '\1a')
=> "reversea, eacha worda"
Run Code Online (Sandbox Code Playgroud)
但如果我试图反转字符串,它会失败:
"reverse, each word".gsub(/(\w+)/, "\\1a".reverse)
=> "a1\\, a1\\ a1\\"
Run Code Online (Sandbox Code Playgroud)
我玩过它,但似乎无法让相反的操作起作用.
我一直碰到这个.块捕获组在块范围内可用,因此重写如下:
"reverse, each word".gsub(/(\w+)/) { |match| $1.reverse + "a" }
Run Code Online (Sandbox Code Playgroud)
或者由于您的匹配是组,您可以完全省略该组
"reverse, each word".gsub(/\w+/) { |match| match.reverse + "a" }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
271 次 |
| 最近记录: |