搜索
aardio官方社区 门户 查看主题

数组取数值,去除不要的字符

发布者: zhang_54329 | 发布时间: 2014-12-7 10:53| 查看数: 1963| 评论数: 6|帖子模式

有以下一维数组:

opc = {150片;200个;100pc;20pcs;5个半}

请教 怎样写能得到:

opc = {150;200;100;20;5.5}


先谢谢了。

最新评论

thXnder 发表于 2014-12-7 12:24:40

[i=s] 本帖最后由 thXnder 于 2014-12-7 12:26 编辑 [/i] [align=left][font=新宋体][color=#000

本帖最后由 thXnder 于 2014-12-7 12:26 编辑

import console;
var opc = {"150片";"200个";"100pc";"20pcs";"5个半"};
var opcVal = {};
for(i=1;#opc;1){
   
var val,val2 = string.match(opc[ i ], "^(\d+)<:>+?(<半>?)$");
   
//assert(val, "error: uncorrect format of element "++i);
    val += (val2=="半" ? 0.5 : 0);
    opcVal[ i ] = val;
}
console.dump(opcVal);
console.pause(
true);

zhang_54329 发表于 2014-12-7 12:41:31

正在 学习 管理员 的 [文本分析] 模式匹配快速入门 ,,对不起发帖前没看这个。

正在 学习  管理员 的
[文本分析] 模式匹配快速入门 ,,对不起发帖前没看这个。
auaau 发表于 2014-12-7 13:37:54

[align=left][font=新宋体][color=#0000ff]var[/color][color=#000000] 数值,长度 = [/color]

var 数值,长度 = tonumber("150片")
就可以转换为数值的150了,后面的文本会自动忽略的。
zhang_54329 发表于 2014-12-7 14:43:09

[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=68337&ptid=12651][c

thXnder 发表于 2014-12-7 12:24
import console;
var opc = {"150片";"200个";"100pc";"20pcs";"5个半"};
var opcVal = {};

谢谢您的指导和回复,谢谢,祝顺。
messias 发表于 2017-11-9 23:28:29
  1. import console;
  2. opc = {"150片";"200个";"100pc";"20pcs";"5个半"}
  3. console.varDump(eval(string.replace(table.tostring(opc),":|[a-zA-Z]","")))
  4. console.pause(true);
复制代码
mzky 发表于 2017-11-10 16:21:05
auaau 发表于 2014-12-7 13:37
var 数值,长度 = tonumber("150片") 就可以转换为数值的150了,后面的文本会自动忽略的。

原来还可以这么用 学习了

  1. io.open()
  2. var opc = {"150片";"200个";"100pc";"20pcs";"5个半"};
  3. var opcVal = {};
  4. for(k,v in opc){
  5.         opcVal[k],len = tonumber(v)
  6.         io.print(k,opcVal[k])
  7. }
  8. execute("pause")
复制代码

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-1-20 18:38 , Processed in 0.046875 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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