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

Project1

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

[已经解决] 字符串处理请教

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4002
在线时间
604 小时
注册时间
2017-4-21
帖子
229
跳转到指定楼层
1
发表于 2018-4-23 14:53:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
论坛搜遍了这是10年的一个贴,https://rpg.blue/forum.php?mod=v ... 7%E7%AC%A6%E4%B8%B2
但与我想实现的效果有点不一致

是这样的
我有一段代码
daima = “  aBcD1ef1g”
我想删除daima指定的字符串的空格符
并想把a变成1,B或b变成2...这样的
应该不难,各位大大能帮帮忙吗

Lv5.捕梦者 (版主)

梦石
1
星屑
23984
在线时间
3339 小时
注册时间
2011-7-8
帖子
3926

开拓者

2
发表于 2018-4-23 16:18:04 | 只看该作者
本帖最后由 guoxiaomi 于 2018-4-23 18:05 编辑

用gsub,写一个for循环
RUBY 代码复制
  1. replace_format = {/\s/ => '', /[Aa]/ => '1', /[Bb]/ => '2'}
  2. string = 'A2b31C3'
  3. for reg, s in replace_format do
  4.   string.gsub!(reg, s)
  5. end

熟悉rgss和ruby,xp区版主~
正在填坑:《膜拜组传奇》讲述膜拜组和学霸们的故事。
已上steam:与TXBD合作的Reformers《变革者》
* 战斗调用公共事件 *
* RGSOS 网络脚本 *
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

聪仔

梦石
0
星屑
6182
在线时间
3077 小时
注册时间
2013-12-26
帖子
3145
3
发表于 2018-4-23 17:11:48 | 只看该作者
写起来很简单,但是如果出现了z变成多少?26吗?
聪聪全国第三帅...
他们都叫我【人赢聪】
我的RM能力雷达图:

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3039
在线时间
1052 小时
注册时间
2011-8-16
帖子
242
4
发表于 2018-4-23 19:05:55 | 只看该作者
本帖最后由 失落的乐章 于 2018-4-24 20:01 编辑
guoxiaomi 发表于 2018-4-23 16:18
用gsub,写一个for循环
replace_format = {/\s/ => '', /[Aa]/ => '1', // => '2'}
string = 'A2b31C3'


我想出了一种不用转换表的方法(利用 ASCII 码):
  1. p "a1 B2 c3 D4...Z26".gsub(/\s/, '').downcase.gsub(/[a-z]/) { |s| s[0] - 96 }
  2. #=> '11223344...2626'
复制代码

不过还没在 XP 里测试过。

评分

参与人数 3星屑 +60 +2 收起 理由
RyanBern + 60 认可答案
chd114 + 1 我很赞同
guoxiaomi + 1 应该可行

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-21 13:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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