北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 7677|回复: 6

string.gsub使用中的疑惑

[复制链接]
发表于 2013-8-19 13:38:03 | 显示全部楼层 |阅读模式
string.gsub使用中的疑惑

  1. function teststr()
  2.         local str = "down,northeast,east,north ,south,southeast,out";
  3.         print(string.gsub(str, "out", "", 1));
  4. end
复制代码
输出为:down,northeast,east,north ,sh,southeast,out 1

期望是:down,northeast,east,north ,south,southeast, 1

怎么用,盼指点

北大侠客行MUD,中国最好的MUD
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-8-19 14:20:15 | 显示全部楼层
本帖最后由 tianheng 于 2013-8-19 02:34 PM 编辑

自己写了个替换函数,无奈不熟悉正则

  1. function teststr()
  2.         local str = "down,northeast,east,north,south,southeast,out,up";
  3.         print(str);
  4.         print(string.find(str, "out"));
  5.         print(string.gsub(str, "out", "", 1));
  6.         
  7.         print(delstr(str, ",", "out"));
  8. end

  9. function delstr(str, p, s)
  10.         local t = utils.split(str, p)
  11.         local r = {}
  12.         for k, v in pairsByKeys(t) do
  13.                 if v ~= s then
  14.                         table.insert(r, v)
  15.                 end
  16.         end
  17.         return table.concat(r, p)
  18. end
复制代码
结果:
down,northeast,east,north,south,southeast,out,up 28 30
down,northeast,east,north,sh,southeast,out,up 1
down,northeast,east,north,south,southeast,up
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-19 15:27:18 | 显示全部楼层
  1. function teststr()
  2.         local str = "down,northeast,east,north ,south,southeast,out";
  3.         print(string.gsub(str, ",out", "", 1));
  4. end
复制代码
这样写不就行了
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-19 15:30:15 | 显示全部楼层
有时候换个思路就好,
还有str = "down,northeast,east,north ,south,southeast,out"
引号里是一个字符串 "," 逗号也是字符串的元素之一,gsub是针对整个字符串操作的当然出这样的结果
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2013-8-19 19:09:01 | 显示全部楼层
out是第一个呢?
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-20 10:05:43 | 显示全部楼层
local str = "down,northeast,east,north ,south,southeast,out"
print(string.gsub(string.gsub(str,",out", "", 1),"out,", "", 1))
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2013-8-20 10:06:01 | 显示全部楼层
有思路照搬一次就行了啊
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-24 06:59 AM , Processed in 0.010391 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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