问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

如何使用Ruby中的“split”方法

发布网友 发布时间:2022-04-22 15:36

我来回答

2个回答

懂视网 时间:2022-04-07 10:18

split()方法怎么用?

JavaScript split() 方法

JavaScript String 对象

推荐:《javascript高级教程》

定义和用法

split() 方法用于把一个字符串分割成字符串数组。

语法

stringObject.split(separator,howmany)

参数

separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

一个字符串数组。该数组是通过在 separator 指定的边界处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

提示和注释

注释:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

注释:String.split() 执行的操作与 Array.join 执行的操作是相反的。

实例

例子 1

在本例中,我们将按照不同的方式来分割字符串:

<script type="text/javascript">
var str="How are you doing today?"
document.write(str.split(" ") + "<br />")
document.write(str.split("") + "<br />")
document.write(str.split(" ",3))
</script>

输出:

How,are,you,doing,today?
H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
How,are,you

例子 2

在本例中,我们将分割结构更为复杂的字符串:

"2:3:4:5".split(":")//将返回["2", "3", "4", "5"]
"|a|b|c".split("|")//将返回["", "a", "b", "c"]

例子 3

使用下面的代码,可以把句子分割成单词:

var words = sentence.split(' ')

或者使用正则表达式作为 separator:

var words = sentence.split(/s+/)

例子 4

如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:

"hello".split("")//可返回 ["h", "e", "l", "l", "o"]

若只需要返回一部分字符,请使用 howmany 参数:

"hello".split("", 3)//可返回 ["h", "e", "l"]

热心网友 时间:2022-04-07 07:26

正如你所知道的,ruby字符串被称为一流的对象,它使用了大量的查询和操作方法。一个最基本的字符串操作是把一个字符串分割成多个子字符串。如果你有一个字符串,如“foo,
bar,
baz”而你希望的是这样三个字符串“foo”,“bar”,“baz”。那么字符串类的split方法就可以帮助你。
“split”的基本用法
split方法的最基本用法*一个由单独字符或字符的静态序列组成的字符串。如果split的第一个变量是一个字符串,那么这个字符串中字符就会被当作一个字符串分隔符使用。但是在逗号分隔的数据中,逗号用来分隔数据,这里的每个字符串成分都被用来分隔数据。
#!/usr/bin/env
rubystr
=foo,bar,bazputsstr.
split(,)$
./1.rbfoobarbaz通过正则表达式来增加灵活性
当然,还有一些更容易的方法可以分隔字符串。正则表达式可以为split方法增加灵活性。这里再次拿“foo,
bar,
baz”。间隔在第一个逗号之后而不是第二个逗号。如果该字符串“,”被当成是分隔符,那么在“baz”字符串的开始处仍然会存在间隔。如果使用“,”字符串,它只与第一个逗号匹配,因为第二个逗号后面没有间隔。其作用还是有限的。
解决这个问题的办法是把正则表达式作为定界符的自变量,而不是使用字符串。正则表达式不仅可以匹配静态序列的字符,对字符的不定量和可选字符都同样起作用。
编写正则表达式
为你的分隔符编写一个正则表达式,第一步就是描述清楚什么是分隔符。在这种情况下,一个逗号后面可能存在一个或多个空格是合理的。这一正则表达式库中存在两个要素:逗号和可选的间隔。间隔会使用*
(星号)量词,它表示的意思是“零或更多”。任何在它之前的要素都会匹配零次或若干次。例如,正则表达式/
a
*
/将匹配序列零或更多“a”字符。
#!/usr/bin/env
rubystr
=foo,
bar,bazputsstr.
split(
/,
*/
)$
./2.rbfoobarbaz*splits的数量
想象一个逗号分隔了这样的字符串:“10,20,30,this
is
an
arbitary
string”。其格式是三个数字后面跟了一句评论。此评论可以包含任意的文本,包括带有逗号的文本。要防止split分离文本这个文本,我们可以设置一个最大*列数。请注意,只有在任意文本的评论字符串处在表格最后一列时才管用。
为了*splits的数量,字符串中数域的数量要作为split方法的第二个变量来发送。
#!/usr/bin/env
rubystr
=10,20,30,ten,
twenty
and
thirtyputsstr.
split(
/,
*/,
4
)$
./3.rb102030en,
twentyandthirty了解其局限性
*法有一些局限性。以字符串“10,20,
‘bob,
eve
and
mallory’,30”为例。预期字符是两个数字,后跟一个引证串(可能包含逗号),然后是另一个数字。split不能正确分隔这个字符串的域。为了做到正确分隔,需要保持字符串扫描器处于开启状态,这样一来它就会记得它有没有在引证串内部。反之,如果扫描仪不在启动状态,就不能解决这样的问题。
如何使用Ruby中的“split”方法

/usr/bin/env rubystr =foo,bar,bazputsstr.split(,)$ ./1.rbfoobarbaz通过正则表达式来增加灵活性当然,还有一些更容易的方法可以分隔字符串。正则表达式可以为split方法增加灵活性。这里再次拿“foo, bar, baz”。间隔在第一个逗号之后而不是第二个逗号。如果该字符串“,”被当成是分隔符,那么...

Ruby快速获得各种文件信息

在桌面上新建path.rb文件 打开,输入如下代码:puts "驱动器为: #{Dir.pwd.split(':/').first}"puts "路径为: #{Dir.pwd}"puts "文件名为: #{__FILE__}"puts "扩展名为: #{File.extname(__FILE__)}"运行 输出结果如下 驱动器为: C 路径为: C:/Documents and Settings/Administrator...

求ruby编写脚本,从一堆字符串中找出所有正确的mac地址,并打印。_百 ...

保存为*.rb[API_Studier原创]a="juoiu980010-3210-d903hyuy-w345-78u0-opeinhhu00f1-8971-3231sdfsf".split("-") #分割"-"b=a[0][-4,4]+"-"+a[1]+"-"+a[2][0,4] #第一个mac地址 c=a[5][-4,4]+"-"+a[6]+"-"+a[7][0,4] #第二个mac地址 d=File.open(...

在Ruby中格式化一个XML字符串问题,怎么解决

好了 首先是第一步转成16进制: icon = "22 12 41 2 1 8 43 211 42"# =&gt; "22 12 41 2 1 8 43 211 42" icon.split.map {|i| i.to_i.to_s(16) }# =&gt; ["16", "c", "29", "2", "1", "8", "2b", "d3", "2a"] 然后是你说的格式化(不太明白你的意思...

RUBY 字符串格式转换

to_i.to_s(16) }# =&gt; ["16", "c", "29", "2", "1", "8", "2b", "d3", "2a"] 然后是你说的格式化(不太明白你的意思,不知道是不是个位数前面要补0的意思):icon.split.map {|i| i.to_i.to_s(16) }.map { |s| s.size == 1 ? s.insert(0, "0") :...

Ruby字节数组转换为十六进制字符串

str = "Ruby"str.split(//).each {|e|; print (e.unpack('H*').to_s + "\n")} irb 52 75 62 79 =&gt; ["R", "u", "b", "y"]

ruby 字符串转数组问题

names = @story.name.split

ruby下如何使用显示图片代替汉字?想用通配符来识别要表达的汉字,然后用...

可以使用它来代替一个或多个真正字符。当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一个或多个真正的字符。示例:1、如果要查找: 任意单个字符 :键入 ? 例如,s?t 可查找“sat”和“set”……。2、任意字符串 :键入 * 例如,s*d 可查找“sad”和“started”……

我怎样才能在全局忽略UTF-8字符串无效的字节序列

一旦你force_encoding如果数据是从您的数据库,你可以改变你的ASCII-8BIT或二进制编码;ruby应该举报他们据此即可。或者,您可以monkeypatch数据库驱动程序来强制编码的读取它的所有字符串。这是一个巨大的,虽然,可能是完全错误的做法。正确的答案将是解决你的字符串编码。这可能需要它们的数据库修复,数据...

如何应付不知名的爬虫骚扰?

用memcache记录每个IP访问计数,单位时间内超过阀值就让用户填写验证码,用Rails编写的示例代码如下: Ruby代码 ip_counter = Rails.cache.increment(request.remote_ip) if !ip_counter Rails.cache.write(request.remote_ip, 1, :expires_in =&gt; 30.minutes) elsif ip_counter &gt; 2000 render :template =&gt; 'test'...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
什么信用卡审核快 上海的地铁11号线北段2期是在哪里? 请问知道一个电话号码就可以去电信局把这个号码的电话记录和短信单子... 职工医疗保险交够多少年才能享受? 卷心菜炒粉条的家常做法是怎样的? 全世界所有的FPS网游 请问这是思科路由器里面ARP映射吗?(arp 10.16.252.210 3C07.7178... 主卧18平方,次卧18平方,客厅25个平方格力家用中央空调一拖三。连... 格力, 大金,三菱重工,三菱电机中央空调哪个好,家中客厅加餐厅50㎡,主... 客厅餐厅28平方,主卧14平方,次卧卧12平方,书房8平方,配什么系列的大金中... c#中如何使用split方法 民间借贷房产抵押 split函数怎么用啊,下面那句话什么意思? 民间借贷抵押房屋合法吗 java中split如何使用 民间借贷中房产抵押有效吗 苹果splitapp怎么使用 民间借贷中拿房产来抵押贷款融资,需要注意什么? 404 Not Found 民间借贷房屋抵押条件是什么 js的split怎么用。 java中split怎么用? 民间贷款房产证可以抵押吗 Split怎么使用 民间借贷以房产抵押有效吗 Split函数怎么用 Split函数怎么用? split怎么读? Bluetooth V4.1蓝牙耳机上的三个按键分别是什么功能? 蓝牙耳机多功能键 “多瑙河”韩文怎么写? Java的split()是怎么拆分字符串的? 请问java中split()方法怎么用? 璇烽棶钥冮泤镐濋渶瑕侀佩涓&#xFFFD;殑姣曚笟璇佷功鍚楋紵 用VB中用split分解字符 应该怎么写?谢谢 Java中split函数,如何通过String[]截取? 苹果splitapp怎么使用? 多瑙河女神的英文怎么拼 东西经,南北纬用字母表示 在北街 英语翻译 dos下怎么支持usb硬盘 苹果如何滚动截屏 Dos下看不到U盘的内容 为什么苹果手机用wifi在微信发送不了图片了? 瑞典爱情故事的剧情梗概 苹果x手机微信传东西发现异常无法分享 从美国到中国的机票问题 ahijlnorstvwxyz 酒的故事的电影 dos下U盘copy文件,找不到怎么办?
  • 焦点

最新推荐

猜你喜欢

热门推荐