Project1

标题: 如何靠正则表达式获取值 [打印本页]

作者: timiesea    时间: 2014-10-17 11:12
标题: 如何靠正则表达式获取值
在备注中定义如下:<10,20,30>(/<\d+,\d+,\d+>/)

如何获取10,20和30并且存放到变量中呢?

还有一种情况:<10>(/<\d+>/)

如何获取10并且存放在变量中呢?

注:帖子中的数值只是代表作用,可以是任何数字。
作者: VIPArcher    时间: 2014-10-17 11:21
本帖最后由 VIPArcher 于 2014-10-17 14:18 编辑

我没看明白问题
  1. if string =~ /<(\d+)>/
  2.   $game_variables[1] = $1.to_i
  3. elsif string =~ /<(\d+),(\d+),(\d+)>/
  4.   $game_variables[1] = $1.to_i
  5.   $game_variables[2] = $2.to_i
  6.   $game_variables[3] = $3.to_i
  7. end
复制代码
我不太会正则
忘了.to_i了Orz
作者: timiesea    时间: 2014-10-17 11:41
VIPArcher 发表于 2014-10-17 11:21
我没看明白问题我不太会正则

我还以为会用到什么各种复杂的控制语句和深奥的语法呢。嗯。这个简单实用!
作者: 喵呜喵5    时间: 2014-10-17 19:35
  1. string = "<10,20,30>"
  2. string.gsub!(/</){"["}
  3. string.gsub!(/>/){"]"}
  4. array = eval(string)
  5. p array
  6. p array[0]
  7. p array[1]
  8. p array[2]
复制代码





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1