Ruby:使用split和regex
我试着把一行文字理解如下:Ruby:使用split和regex,ruby,regex,split,Ruby,Regex,Split,我试着把一行文字理解如下: 1 | Company 1234 Anywhere St, SJ (12.34567, -98.765432) 并分离出第一个数字和两个浮点数 我一直在和一个正则表达式的创建者一起玩,并得出以下结论: 要获取第一个整数:(\\d+) 要获取浮动:([+-]?\\d*\\\.\\d+(![-+0-9\\.]) 但是当我将它们与.split一起使用时,我得到的是“语法错误,意外$undefined,预期'” 任何洞察都会很棒 input = '1 | Company 1
1 | Company 1234 Anywhere St, SJ (12.34567, -98.765432)
并分离出第一个数字和两个浮点数
我一直在和一个正则表达式的创建者一起玩,并得出以下结论:
要获取第一个整数:(\\d+)
要获取浮动:([+-]?\\d*\\\.\\d+(![-+0-9\\.])
但是当我将它们与.split一起使用时,我得到的是“语法错误,意外$undefined,预期'”
任何洞察都会很棒
input = '1 | Company 1234 Anywhere St, SJ (12.34567, -98.765432)'
regexp = /^\s*(\d+)\s*\|.*\(([+-]?\d*\.\d+),\s*([+-]?\d*\.\d+)/
md = input.match(regexp)
我希望md[1],md[2],md[3]是您想要的值。显示您的实际源代码。下面提供了有用的答案,但我对导致该错误的原因非常好奇。我以前从未见过ruby抱怨
$undefined
。
"1 | Company 1234 Anywhere St, SJ (12.34567, -98.765432)"
.sub(/.*\|/, "")
.scan(/-?[\d.]+/)
# => ["1234", "12.34567", "-98.765432"]