设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 5160|回复: 4
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
跳转到指定楼层
1
 楼主| 发表于 2013-2-20 18:28:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

脚本麻烦~
@protosssonny 召唤P叔卖萌0w0
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
2
发表于 2013-2-20 18:52:44 | 只看该作者
不用脚本可能真不行,用String#split的方式来取吧- -b

点评

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

使用道具 举报

Lv2.观梦者

梦石
0
星屑
560
在线时间
1286 小时
注册时间
2011-6-14
帖子
4086
3
发表于 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糖怎么用完了~

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
38
在线时间
1165 小时
注册时间
2012-3-16
帖子
5336
4
 楼主| 发表于 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
我想要到的是保护同伴的力量,能与同伴一起欢笑的未来的力量,如果无法做到的话,那就无需继承,如果是这样的彭格列的话,那我亲手毁掉它!
  
                       欢迎加入我们的家族~
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

八宝粥的基叔

梦石
0
星屑
4684
在线时间
5240 小时
注册时间
2009-4-29
帖子
14318

贵宾

5
发表于 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
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 06:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表