ruby 字符串
字符串处理函数
1.返回字符串的长度
str.length => integer
2.判断字符串中是否包含另一个串
str.include? other_str => true or false
"hello".include? "lo"#=> true"hello".include? "ol"#=> false"hello".include? ?h #=> true
3.字符串插入:
复制代码
str.insert(index, other_str) => str
"abcd".insert(0, 'X') #=> "Xabcd""abcd".insert(3, 'X') #=> "abcXd""abcd".insert(4, 'X') #=> "abcdX""abcd".insert(-3, 'X')
-3, 'X') #=> "abXcd""abcd".insert(-1, 'X') #=> "abcdX"
复制代码
4.字符串分隔,默认分隔符为空格
复制代码
str.split(pattern=$;, [limit]) => anArray
" now's the time".split #=> ["now's", "the", "time"]"1, 2.34,56, 7".split(%r{,\s*}) #=> ["1", "2.34", "56", "7"]"hello".split(//) #=> ["h", "e", "l", "l", "o"]"hello".split(//, 3) #=> ["h", "e", "llo"]"hi mom".split(%r{\s*}) #=> ["h", "i", "m", "o", "m"]"mellow yellow".split("ello") #=> ["m", "w y", "w"]"1,2,,3,4,,".split(',') #=> ["1", "2", "", "3", "4"]"1,2,,3,4,,".split(',', 4) #=> ["1", "2", "", "3,4,,"]
复制代码
5.字符串替换
str.gsub(pattern, replacement) => new_str
str.gsub(pattern) {|match| block } => new_str
"hello".gsub(/[aeiou]/, '*') #=> "h*ll*" #将元音替换成*号"hello".gsub(/([aeiou])/, '<\1>') #=> "h<e>ll<o>" #将元音加上尖括号,\1表示保留原有字符???"hello".gsub(/./) {|s| s[0].to_s + ''} #=> "104 101 108 108 111 "
字符串替换二:
str.replace(other_str) => str
s = "hello"#=> "hello"
s.replace "world"#=> "world"
6.字符串删除:
str.delete([other_str]+) => new_str
"hello".delete "l","lo"#=> "heo""hello".delete "lo"#=> "he""hello".delete "aeiou", "^e"#=> "hell""hello".delete "ej-m"#=> "ho"
7.去掉前和后的空格
str.lstrip => new_str
" hello ".lstrip #=> "hello ""hello".lstrip #=> "hello"
8.字符串匹配
str.match(pattern) => matchdata or nil
9.字符串反转
str.reverse => new_str
"stressed".reverse #=> "desserts"
10.去掉重复的字符
str.squeeze([other_str]*) => new_str
"yellow moon".squeeze #=> "yelow mon" #默认去掉串中所有重复的字符" now is the".squeeze("") #=> " now is the" #去掉串中重复的空格"putters shoot balls".squeeze("m-z") #=> "puters shot balls" #去掉指定范围内的重复字符
11.转化成数字
str.to_i=> str
".to_i #=> 12345
chomp和chop的区别:
chomp:去掉字符串末尾的\n或\r
chop:去掉字符串末尾的最后一个字符,不管是\n\r还是普通字符
复制代码
"hello".chomp #=> "hello""hello\n".chomp #=> "hello""hello\r\n".chomp #=> "hello""hello\n\r".chomp #=> "hello\n""hello\r".chomp #=> "hello""hello".chomp("llo") #=> "he""string\r\n".chop #=> "string""string\n\r".chop #=> "string\n""string\n".chop #=> "string""string".chop #=> "strin"
复制代码
转载自:http://blog.163.com/ma95221@126/blog/static/2482210220100159515220/
ruby 字符串的更多相关文章
- ruby 字符串学习2
在一个ruby字符串中包含表但是或者变量.想使用不同的值替换表达式或者变量 1 类似java 或者python的printf-style方式 template = 'Oceania has alway ...
- 雷林鹏分享:Ruby 字符串(String)
Ruby 字符串(String) Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符. 最简单的字符串是括在单引号(单引号字符)内.在引号标记内的文本 ...
- Ruby字符串(1):String基本用法
String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建. a = "hello" b = Stri ...
- Ruby字符串
在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示.简单的字符串文本括在单引号中,如 'This is a simple Ruby string liter ...
- ruby 字符串学习笔记1
1 从一种数据结构中构件字符串 hash = { key1: "val1", key2: "val2" } string = "" hash ...
- ruby字符串相关方法
构造字符串字面量 方法一:最简单的使用单引号或者双引号括起来的字符串,比如"hello". 方法二:使用%q配合分界符,%q代表单引号str=%q!he/lo! 方法三:使用%Q配 ...
- Ruby字符串的一些方法
最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看 看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样 主要是我们对字符串进 ...
- ruby 字符串常用方法学习
引用链接:http://www.blogjava.net/nkjava/archive/2010/01/03/308088.html 1,切片:silce, [ ]-----------------[ ...
- Ruby字符串(2):String方法详细整理
String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...
- ruby字符串学习笔记5
1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] ...
随机推荐
- Android 两种注册、发送广播的区别
前言:前面文章记录了Service的使用,这次来记录另一个四个组件之一的BroadcastReceiver.主要介绍两种发送和注册广播的区别. BroadcastReceiver广播接收者用于接收系统 ...
- Web支持可暂停的超大文件上传
代码镇顶:https://github.com/dna2github/petalJS/blob/master/upload 前些天遇到用户须要上传10GB大小以上的文件的需求,查查网上的库.都不好用. ...
- 2016.6.20 eclipse中的jsp文件的字体大小在哪里修改
刚打开eclipse的时候,觉得jsp文件的字体太小了.于是去修改字体,但是colors and fonts里的字体选项太多了,不知道哪一个是. 试了几个后发现,是structured text ed ...
- linux中find的用法
找所在目录的文件用 find -name “file*” -print #注意不要用加文件路径,查找文件也好用双双引号括住: 也可以 find ./ -name “file*” -print
- java命令行
Launches a Java application. Synopsis java [options] classname [args] java [options] -jar filename [ ...
- Java千百问_05面向对象(006)_is-a,has-a,like-a是什么
点击进入_很多其它_Java千百问 1.is-a,has-a,like-a是什么 在面向对象设计的领域里,有若干种设计思路,主要有例如以下三种: is-a.has-a.like-a java中在类.接 ...
- Linux 编译ffmpeg 生成ffplay
本来主要介绍linux环境下如何编译ffmpeg使之生成ffplay.编译总是离不开源码的版本,以及编译环境下:编译环境Ubutun 16.04 ,ffmpeg 版本3.4.2.如何下载ffmpeg ...
- Spark源码分析之九:内存管理模型
Spark是现在很流行的一个基于内存的分布式计算框架,既然是基于内存,那么自然而然的,内存的管理就是Spark存储管理的重中之重了.那么,Spark究竟采用什么样的内存管理模型呢?本文就为大家揭开Sp ...
- 链接脚本使用一例2---将二进制文件 如图片、MP3音乐、词典一类的东西作为目标文件中的一个段
参考文章: <程序员的自我修养——链接.转载与库> P68 这里介绍两种方法,实现将将一张图片作为二进制可执行程序的一个段,其中第一种方法在我之前的博客中已经有所介绍,不过,那是采用的是交 ...
- linux下开启ftp的21号port
1.先执行vsftpd服务: #service vsftpd start 2.通过iptables开放21号port (1) 先查看iptables设置: #iptables -nL Chain IN ...