字符串处理函数
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 字符串的更多相关文章

  1. ruby 字符串学习2

    在一个ruby字符串中包含表但是或者变量.想使用不同的值替换表达式或者变量 1 类似java 或者python的printf-style方式 template = 'Oceania has alway ...

  2. 雷林鹏分享:Ruby 字符串(String)

    Ruby 字符串(String) Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符. 最简单的字符串是括在单引号(单引号字符)内.在引号标记内的文本 ...

  3. Ruby字符串(1):String基本用法

    String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建. a = "hello" b = Stri ...

  4. Ruby字符串

    在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示.简单的字符串文本括在单引号中,如 'This is a simple Ruby string liter ...

  5. ruby 字符串学习笔记1

    1 从一种数据结构中构件字符串 hash = { key1: "val1", key2: "val2" } string = "" hash ...

  6. ruby字符串相关方法

    构造字符串字面量 方法一:最简单的使用单引号或者双引号括起来的字符串,比如"hello". 方法二:使用%q配合分界符,%q代表单引号str=%q!he/lo! 方法三:使用%Q配 ...

  7. Ruby字符串的一些方法

    最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看 看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样 主要是我们对字符串进 ...

  8. ruby 字符串常用方法学习

    引用链接:http://www.blogjava.net/nkjava/archive/2010/01/03/308088.html 1,切片:silce, [ ]-----------------[ ...

  9. Ruby字符串(2):String方法详细整理

    String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...

  10. ruby字符串学习笔记5

    1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] ...

随机推荐

  1. wxWidgets界面开发工具wxFormBuilder的使用

    wxFormBuilder 下载地址:http://download.csdn.net/detail/lsmallstop/7013401 安装完成后,打开wxFormBuilder,可以在左侧工程子 ...

  2. lampp、xampp安装文档

    第一步:去官网 看这个介绍http://www.apachefriends.org/zh_cn/xampp-linux.html#1677 第二步:下载安装包 2.1 要区分Linux是32位还是64 ...

  3. Oracle内存管理(之五)

    [深入解析--eygle]学习笔记 1.4. 2其它内存组件 Large Pool-大池是SGA的一个可选组件,通经常使用于共享server模式(MTS). 并行计算或 RMAN的备份恢复等操作. J ...

  4. Android Canvas之Path操作

    接上篇,Android自己定义View工具:Paint&Canvas(二) 上一篇中介绍的Canvas绘制图形仅仅能画一些常规图形(圆.椭圆.矩形等),假设想绘制更复杂的图形.Path神器来了 ...

  5. codeforces 283C

    给 n 中 钱币.以及每两种钱币的关系,表示,ai 的 个数 要大于 bi 组合成一个价值val,求方案数,好奇妙的一个处理方式,不得不说又学到了 #include<stdio.h> #i ...

  6. centos6.6安装mysql5.5

    在mysql官网下载mysql-5.5.54-linux2.6-x86_64.tar.gz解压:tar -zxvf  mysql-5.5.54-linux2.6-x86_64.tar.gz修改名字mv ...

  7. mybatis的两种分页方式:RowBounds和PageHelper

    原理:拦截器. 使用方法: RowBounds:在mapper.java中的方法中传入RowBounds对象. RowBounds rowBounds = new RowBounds(offset, ...

  8. eclipse不能添加tomcat

    有时候原来能新建server,删掉后就不能新建了 1.退出eclipse 2.到[工程目录下 workspace ]/.metadata/.plugins/org.eclipse.core.runti ...

  9. PHP网站常见安全漏洞 及相应防范措施总结

    一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍. 1.se ...

  10. AI生万物,新世界的大门已敞开

    四月是万物复苏的时节,一年一度的GMIC全球移动互联网大会也在这个时间如期而至,在4月26日-28日的会议期间,有超过三百位行业专家进行了精彩的演讲,更有数万名现场观众感受到思维碰撞迸发出的火花. 作 ...