查看: 5689|回复: 4

[已经解决] 文本提取方法~

[复制链接]

发表于 2013-2-20 18:28:52 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
怎么取一段文本中的一部分和修改?

比如一段文本:
——————
HP:100
MP:100
啦啦啦0w0
——————
将HP的数值-10

脚本麻烦~
@protosssonny 召唤P叔卖萌0w0
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2013-2-20 18:52:44 | 显示全部楼层
不用脚本可能真不行,用String#split的方式来取吧- -b

点评

就是问脚本啊- -  发表于 2013-2-20 19:45
好歹当年也当过大魔王过,orz
回复

使用道具 举报

梦石
0
星屑
660
在线时间
1286 小时
注册时间
2011-6-14
回帖
3949
发表于 2013-2-20 19:02:28 | 显示全部楼层
设a=
  1. HP:100
  2. MP:100
  3. 啦啦啦0w0
复制代码
则用脚本:
  1. a.gsub!(/HP:(\d+)/) { "HP:#{$1.to_i - 10}" }
复制代码
注释:关于正则表达式,如果是半角(:)则需要在之前加斜杠,如
  1. a.gsub!(/HP\:(\d+)/) { "HP:#{$1.to_i - 10}" }
复制代码
# 不会regexp只能加斜杠……不想去查参考手册

评分

参与人数 2星屑 +103 收起 理由
Luciffer + 100 我很赞同
彭格列第XI代 + 3 QAQ糖怎么用完了~

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2013-2-20 19:47:24 | 显示全部楼层
satgo1546 发表于 2013-2-20 19:02
设a=则用脚本:注释:关于正则表达式,如果是半角(:)则需要在之前加斜杠,如# 不会regexp只能加斜杠…… ...

就是觉得那些好乱= =
求解释用法0w0

点评

你在15行处用p a[i],就能看见符号的数字代码了。  发表于 2013-2-20 21:18
现在不好奇了吧?一切说明得如此详细了!  发表于 2013-2-20 21:15
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复

使用道具 举报

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2013-2-20 20:30:24 | 显示全部楼层
来了来了
拿去自己研究吧 Project1.rar (238.86 KB, 下载次数: 46)
  1. def miaomiao
  2.   # 初始化各种变量
  3.   a = []
  4.   b = ""
  5.   n = 0
  6.   # 打开Graphics/Faces/123.txt,若文件不存在就使 f = nil
  7.   f = open('Graphics/Faces/123.txt', 'r') rescue nil
  8.   unless f
  9.     return # 文件不存在返回
  10.   end  
  11.   f.each {|line| a[n] = line ; n += 1} # 将f的每一行分别代入数组a
  12.   f.close # 关闭文件f
  13.   g = open('Graphics/Faces/124.txt', 'w') # 新建或者打开文件124.txt准备写入
  14.   for i in 0...a.size # 按数组a的元素个数的次数反复执行
  15.     # 串“100 - 10”的值即90
  16.     if a[i].scan(/HP/) != [] # 如果匹配到“HP”字样
  17.       # 锁定数组a的这个元素,删除“HP:”后代入c,“\243\272”表示这个中文的冒号
  18.       c = a[i].delete("HP\243\272")
  19.       # 删除c中的换行符并转换成数值类,“\n”表示换行我们都知道
  20.       c = c.delete("\n").to_i
  21.       # 把本数组元素替换成“HP:(c-10的值)回车”
  22.       a[i].replace("HP\243\272" + "#{c - 10}\n")
  23.     end
  24.     b += a[i] #把a的这个元素累加到字符类变量b中
  25.   end
  26.   g.print(b) # 把b的全部内容写进g即124.txt
  27.   g.close if g # 关闭存盘124.txt
  28. end  
复制代码

点评

噗- -那些数字是:  发表于 2013-2-20 21:16
ME很好奇\243\272里的数字是啥0 0  发表于 2013-2-20 21:11
我偏不用split啦啦啦!  发表于 2013-2-20 20:31

评分

参与人数 2星屑 +20 梦石 +1 收起 理由
Luciffer + 1 认可答案
彭格列第XI代 + 20 P叔是好银0w0~

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部