正则表达式匹配Ruby

时间:2014-11-21 18:42:18

标签: ruby regex

我是语言新手。

我试图将所有字符提取到转义字符(\ r)。

我试过

text = "abcde\r"

text.match(/(.*)(\r)/)

我尝试使用gsub和gsub!没有人工作。

2 个答案:

答案 0 :(得分:2)

如果您正在处理文件中行的特定情况,并且想要删除行结尾,则可以使用chopchomp。例如:

require 'pp'

lines = [
  "hello",
  "there\r",
  "how\r\n",
  "are you?"
]

lines.each do |line|
  pp line
  pp line.chomp
  puts '---'
end

结果:

"hello"
"hello"
---
"there\r"
"there"
---
"how\r\n"
"how"
---
"are you?"
"are you?"
---

答案 1 :(得分:0)

您可以使用String#slice传递正则表达式和匹配来获取。 1代表第一个(在这种情况下是唯一的)匹配。

text = "abcde\r"
text.slice(/(.*)\r/, 1)
 => "abcde"