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

Project1

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

谁给解释一下name.split

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
67
跳转到指定楼层
1
发表于 2008-11-2 22:36:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

2
发表于 2008-11-2 22:38:31 | 只看该作者
a = "asdff,adf,sdf".split(/,/)

p a #=> ["asdff","adf","sdf"]

p "asdff,adf,sdf".split(/,/)[0] #=> "asdff"

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2008-1-3
帖子
1312
3
发表于 2008-11-2 22:41:53 | 只看该作者
那接下来是不是这样?
p "asdff,adf,sdf".split(/,/)[1] #=> "adf"
p "asdff,adf,sdf".split(/,/)[2] #=> "sdf"
我不懂脚本,现学现卖的...楼主无视我...
专业潜水员+资深养手党
问我为什么万年不换头像?
存在感已经够稀薄了,再换个头像谁还记得你!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
67
4
 楼主| 发表于 2008-11-2 22:45:08 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

神隐的主犯

梦石
0
星屑
299
在线时间
271 小时
注册时间
2008-2-22
帖子
7691

贵宾

5
发表于 2008-11-2 22:47:44 | 只看该作者
split 是 使用 括号后面的正则来 分割字符串,然后返回包含子字符串的数组,也就是

a = "asdff,adf,sdf".split(/,/)

p a #=> ["asdff","adf","sdf"]

这里的 a 就是 分割的结果。

然后调用 [ ] 来取得 a 数组里的元素,也就是

p a[0]  #=> "asdff"

整合写在一行,就是

p "asdff,adf,sdf".split(/,/)[0] #=> "asdff"

以下引用苏菲娅于2008-11-2 14:41:53的发言:

那接下来是不是这样?
p "asdff,adf,sdf".split(/,/)[1] #=> "adf"
p "asdff,adf,sdf".split(/,/)[2] #=> "sdf"
我不懂脚本,现学现卖的...楼主无视我...


恩恩,完全正确。{/qiang}




忘记说了, split(/,/)  的意思是 遇到 , 就把字符串分割。
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~

《天空之城 —— 破碎的命运》
回复 支持 反对

使用道具 举报

Lv1.梦旅人

辉瑞中国首席研究员<

梦石
0
星屑
50
在线时间
142 小时
注册时间
2008-1-18
帖子
2129
6
发表于 2008-11-2 22:56:17 | 只看该作者
我今天上午就回答过LZ了

给LZ看个完整的

split([sep[, limit]])
使用sep指定的pattern来分割字符串,并将分割结果存入数组.

sep可以是下列之一

正则表达式: 把正则表达式的匹配结果当作切分符来切分字符串。如果使用了括号群组的话,与群组相匹配的字符串也会出现在最后的数组中(后文详述)。
1字节的字符串:把该字符当作切分符来进行切分(ruby 1.6)。
2字节以上的字符串:把与Regexp.new(sep)相匹配的字符串当作切分符来进行切分(ruby 1.6)。
省略 或 nil:把$;的值当作切分符来进行切分。
1字节的空白' ' 或 使用了$;且其值为nil时:除了头部的空白之外,使用空白进行切分。
空字符串'' 或 与空字符串相匹配的正则表达式:以单个字符为单位进行切分。可识别多字节字符。


例: awk split

p "   a \t  b \n  c".split(/\s+/) # => ["", "a", "b", "c"]
p "   a \t  b \n  c".split        # => ["a", "b", "c"] ($;的默认值是nil)
p "   a \t  b \n  c".split(' ')   # => ["a", "b", "c"]

若sep中的pattern与空字符串相匹配的话,将以单个字符为单位对字符串进行切分(若正确设置了$KCODE的话,就会自动识别出汉字并进行适当的切分)。例如:

例:以字符为单位进行切分

p 'hi there'.split(/ */).join(':')
# => "h:i:t:h:e:r:e"

p 'hi there'.split(//).join(':')
# => "h:i: :t:h:e:r:e"

$KCODE = 'e'
p '文字列'.split(//).join(':')
# => "文:字:列"

若sep中的pattern包含括号,则数组中还会出现各括号的匹配结果。若括号不止一个时,则数组中就只剩下匹配结果了。例如:

例:

p '1-10,20'.split(/([-,])/)   # => ["1", "-", "10", ",", "20"]
p '1-10,20'.split(/(-)|(,)/)  # => ["1", "-", "10", ",", "20"]

limit可以是下列之一。

省略 或 0: 删除数组尾部的空字符串。
limit > 0: 为数组分配至多limit个元素。
limit < 0: 相当于指定limit的值为正无穷。
例: limit 的例子

# 省略limit的话,就如同把它指定为0一样。这将删除数组尾部的空字符串
p "a,b,c,,,".split(/,/)      # => ["a", "b", "c"]
p "a,b,c,,,".split(/,/, 0)   # => ["a", "b", "c"]

# 若limit不够大,则将剩余部分全部塞入数组的最后一个元素中
p "a,b,c,,,".split(/,/, 3)   # => ["a", "b", "c,,,"]

# 若limit的值为-1或超过分割块数时,其值将被自动修改为分割块数
p "a,b,c,,,".split(/,/, 6)     # => ["a", "b", "c", "", "", ""]
p "a,b,c,,,".split(/,/, -1)    # => ["a", "b", "c", "", "", ""]
p "a,b,c,,,".split(/,/, 100)   # => ["a", "b", "c", "", "", ""]

来6r就是等某位仁兄的巨坑

褴褛着身行无端,囊中羞涩空心酸。
平生几无得意事,倒塔泡面宅寝室。
惟羡隔壁高帅富,雨露春风月夜声。
青丝无处觅其踪,只有硬盘苍井空。
莫云男儿空悲愁,鸿鹄岂不天际游。
坐断天下执鹿首,千百金帛万兜鍪。
夜深忽梦某年月,再见女神欲语迟。
吊丝终有逆袭日,木耳再无回粉时。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
157 小时
注册时间
2007-12-16
帖子
3454
7
发表于 2008-11-2 23:20:33 | 只看该作者
LS太难了。。。。。。。。{/gg}
我看不懂
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

8
发表于 2008-11-3 00:15:50 | 只看该作者
字符串.split("分割符")
以分割符为落刀口,将字符串剁成若干个子字符串构成的数组。

这样解释会不会好懂些呢……{/pz}
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-10-16
帖子
67
9
 楼主| 发表于 2008-11-3 00:23:05 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

10
发表于 2008-11-3 00:27:22 | 只看该作者
以下引用MPlayer于2008-11-2 16:23:05的发言:
亿老前辈...当时我正是在研究您的'增加装备栏'的脚本..

你可以用p命令看一下拆开以后的每段各是什么,相信很容易就可以搞明白split是做什么用的了。
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-21 22:08

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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