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

Project1

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

[已经解决] 怎样在字符串中截取内容

[复制链接]

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
跳转到指定楼层
1
发表于 2012-8-26 15:17:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想要制作装备界面,我决定仿照暗黑破坏神的方式把装备属性用编码记录,但是不知道怎样把字符串里的字符提取出来,求大神们解答~

点评

看不懂问题  发表于 2012-8-26 16:36
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
2
发表于 2012-8-26 17:31:53 | 只看该作者
看你怎么定义了,使用正则表达式,详细请F1及论坛上找...
例子:
name = "铜剑【普通】【10】"
/.*[【](.*?)[】][【](.*?)[】]/ =~ name

p $1,$2
=> "普通","10"

点评

完全没看懂……  发表于 2012-8-26 18:50
>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
3
发表于 2012-8-26 18:42:14 | 只看该作者
.split
示例:
  1. test_string = "测试用,纯卖萌"
  2. p test_string.split
  3. p test_string.split[0],test_string.split[1]
复制代码

点评

我试试看好了……  发表于 2012-8-26 18:56

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
4
 楼主| 发表于 2012-8-26 18:48:12 | 只看该作者
例如 a=‘1034587’
我要将字符串中第一个字符‘1’提取出来到变量里(在程序内部脚本里操作)

点评

p a.split(""),a.split("")[0]  发表于 2012-8-26 19:06
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
5
 楼主| 发表于 2012-8-26 19:08:03 | 只看该作者
无脑之人 发表于 2012-8-26 18:48
例如 a=‘1034587’
我要将字符串中第一个字符‘1’提取出来到变量里(在程序内部脚本里操作) ...

3楼的回答不对哦……我将你的代码输进去了……结果……


‘‘──无脑之人于2012-8-26 19:09补充以下内容:

RE:3楼
[attachimg]130703[/attachimg][attachimg]130702[/attachimg]
’’
我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
帖子
666
6
发表于 2012-8-27 19:18:15 | 只看该作者
本帖最后由 沙漠点灰 于 2012-8-27 19:19 编辑
无脑之人 发表于 2012-8-26 19:08
3楼的回答不对哦……我将你的代码输进去了……结果……


楼主虽然没有采用我的答案,但是我还是强烈建议使用正则表达式!!我解释一下

name = "铜剑【普通】【10】"
这就不多说了,武器名称,它的格式是:

名称属性(没有空格)

再详细一点就是:
名称【属性1】【属性2】

而我们就是要"提取" 属性1 属性2
"提取"使用小括号,

名称可以是任何字符,用点(.) ——详情看F1,有什么\d之类的同理

名称字数不限,可以是"剑"一个字,也可以是"朗基努斯矛"5个字,就用*(它的作用请F1,请与*?做对比)

即 .*【(属性一)】【(属性二)】

属性同名称,可以是任何字符,任何大小,但是为了不出问题 使用*?

综合就是 .*【(.*?)】【(.*?)】

这是正则表达式,用//括着,即 / .*【(.*?)】【(.*?)】/

我原文用了中括号,是为了扩展,中括号的作用请F1,

用 =~ 匹配正则表达式(已可以 字符串[正则]),"提取"第一的用小括号括的用$1,第二个就是$2,以此类推,完事。

请斑竹给100经验吧......我太可怜了...

点评

UI> 我一般都是用 str[] ……  发表于 2012-8-28 20:57
表示实在不懂……  发表于 2012-8-28 15:36

评分

参与人数 1星屑 +200 收起 理由
忧雪の伤 + 200 你QQ被盗了?

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 23:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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