我是新来的语言。正则表达式匹配红宝石
我试图提取所有字符,直到转义字符(\ r)。
我试图
text = "abcde\r"
text.match(/(.*)(\r)/)
我试着用GSUB和GSUB一样!没有任何工作。
我是新来的语言。正则表达式匹配红宝石
我试图提取所有字符,直到转义字符(\ r)。
我试图
text = "abcde\r"
text.match(/(.*)(\r)/)
我试着用GSUB和GSUB一样!没有任何工作。
您可以使用String#slice
传递正则表达式和匹配来获取。 1
代表第一个(在这种情况下是唯一的)比赛。
text = "abcde\r"
text.slice(/(.*)\r/, 1)
=> "abcde"
谢谢!看起来我对irb终端有问题。它没有打印输出。 – JmG 2014-11-21 18:48:09
如果你碰巧处理从一个文件中的指定的情况下,你要删除的行结束,您可以使用chop
或chomp
。例如:
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?"
---
小心使用'chop',因为它会不加区分地删除最后一个字符:''foo'.chop#=>“fo”'。 'rstrip'和'chomp'都是最常用的方法。 – 2014-11-21 21:00:57
很酷。谢谢。这很有帮助 – JmG 2014-11-21 21:40:16
哪里是你的代码的其余部分? – NullUserException 2014-11-21 18:45:12
'\ r'不是“*转义字符”,它是“*一个*转义字符”。术语很重要。 – 2014-11-21 20:58:23