浅析如何使用Ruby中的“split”方法
来源:互联网 发布:mac系统有什么优势 编辑:程序博客网 时间:2024/05/21 04:20
如你所知道的,Ruby字符串被称为一流的对象,它使用了大量的查询和操作方法。一个最基本的字符串操作是把一个字符串分割成多个子字符串。
正如你所知道的,Ruby字符串被称为一流的对象,它使用了大量的查询和操作方法。一个最基本的字符串操作是把一个字符串分割成多个子字符串。如果你有一个字符串,如“foo, bar, baz”而你希望的是这样三个字符串“foo”,“bar”,“baz”。那么字符串类的split方法就可以帮助你。
“split”的基本用法
Split方法的最基本用法分裂一个由单独字符或字符的静态序列组成的字符串。如果split的第一个变量是一个字符串,那么这个字符串中字符就会被当作一个字符串分隔符使用。但是在逗号分隔的数据中,逗号用来分隔数据,这里的每个字符串成分都被用来分隔数据。
#!/usr/bin/env ruby
str = "foo,bar,baz"
puts str.split(",")
$ ./1.rb
foo
bar
baz
通过正则表达式来增加灵活性当然,还有一些更容易的方法可以分隔字符串。正则表达式可以为split方法增加灵活性。这里再次拿“foo, bar, baz”。间隔在第一个逗号之后而不是第二个逗号。如果该字符串“,”被当成是分隔符,那么在“baz”字符串的开始处仍然会存在间隔。如果使用“,”字符串,它只与第一个逗号匹配,因为第二个逗号后面没有间隔。其作用还是有限的。
解决这个问题的办法是把正则表达式作为定界符的自变量,而不是使用字符串。正则表达式不仅可以匹配静态序列的字符,对字符的不定量和可选字符都同样起作用。
编写正则表达式
为你的分隔符编写一个正则表达式,第一步就是描述清楚什么是分隔符。在这种情况下,一个逗号后面可能存在一个或多个空格是合理的。这一正则表达式库中存在两个要素:逗号和可选的间隔。间隔会使用* (星号)量词,它表示的意思是“零或更多”。任何在它之前的要素都会匹配零次或若干次。例如,正则表达式/ a * /将匹配序列零或更多“a”字符。
#!/usr/bin/env ruby
str = "foo, bar,baz"
puts str.split( /, */ )
$ ./2.rb
foo
bar
baz
- 浅析如何使用Ruby中的“split”方法
- Ruby中 split 方法
- Ruby split 和join方法
- js中的split()方法的使用
- JAVA String.split() 方法浅析
- 浅析ruby中的yield关键字
- ruby中的join,split,send,map,each,collect,inject方法总结
- Javascript中的Split方法
- Javascript中的Split方法
- Python中的split方法
- string中的split方法
- sql中的split方法
- numpy中的split方法
- 如何:使用 Split 方法分析字符串(C# 编程指南)
- java中string对象中的split方法的使用
- android开发split的方法在String中的特殊使用
- split方法使用心得
- C#Split方法使用
- bands
- 快速排序算法
- Linux下Nginx+PHP+MySQL配置(图)
- 直接插入排序基本思想
- java 调用 com 组件 随笔
- 浅析如何使用Ruby中的“split”方法
- QQ通信原理及QQ是怎么穿透内网进行通信的?
- 金汤系列:bootloader之GRUB配置攻详解
- Excel 数字和文本格式转换
- linux下IPTABLES配置详解
- JavaScript简单贪吃蛇,基本面向对象
- Java的垃圾回收总结
- iTextSharp 创建无边框表格
- 记录自己的学习