`

ruby字符串的处理

    博客分类:
  • 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')   #=> "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
"12345".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"
   "x".chop.chop       #=> ""

分享到:
评论

相关推荐

    Ruby 字符串处理

    Ruby将字符串像数字一样处理.我们用单引号(‘…’)或双引号(…)将它们括起来. ruby&gt; abc  abc ruby&gt; ‘abc’  abc 单引号和双引号在某些情况下有不同的作用.一个由双引号括起来的字符串允许字符由一个前置的斜杠...

    ruby的二进制字符串与hex互转,二进制字符串与整数互转的工具函数

    本资源是ruby代码,提供了一系列封装好的函数,用于快速进行转换,一个函数搞定,包括如下转换,二进制字符串与hex字符串的互转。二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种...

    Ruby中常用的字符串处理函数使用实例

    1.返回字符串的长度 代码如下: str.length =&gt; integer 2.判断字符串中是否包含另一个串 代码如下: str.include? other_str =&gt; true or false “hello”.include? “lo” #=&gt; true “hello”.include? “ol” #=&gt;...

    模糊字符串匹配:ruby的模糊字符串匹配库

    什么是模糊字符串匹配 Fuzzy-string-match是用于ruby的模糊字符串匹配库。... 纯Ruby版本可以处理ASCII和UTF8字符串。 (而且很慢) 本机版本只能使用ASCII字符串。 (但是很快) 样例代码 本机版本 req

    字符串工具包:MATLAB不提供的一组有用的字符串操作函数-matlab开发

    受 Java、Ruby 和 Python 等其他高级语言的启发,我开发了一组字符串操作函数,以便更方便地处理字符串。 这里给出了一个简要的内容列表 strjoin:使用用户指定的分隔符连接多个字符串 strsplit:从字符串中提取由...

    分享6个Go处理字符串的技巧小结

    如果你从 Ruby 或者 Python 转型到 Go,将会有很多语言差异需要学习,其中很多问题都是围绕处理 string 类型。 下面是一些字符串的技巧,这些技巧解决了我在使用 Golang 的最初几周中遇到的问题。 1. 多行字符串 ...

    Ruby-LetterAvatar从用户名或其他字符串创建字母头像的gem

    LetterAvatar 从用户名(或其他字符串)创建字母头像的 gem

    Ruby常见面试题.pdf

    5. 什么是Ruby中的字符串(String)操作?请说明在Ruby中的字符串常用操作方法。 6. 在Ruby中如何定义函数(Method)?请简要介绍在Ruby中的函数定义和调用方式。 7. Ruby中如何处理异常(Exception Handling)?请...

    使用Ruby来处理文本的教程

    Ruby 字符串 常用缩略词 CSV:逗号分隔值 REXML:Ruby Electric XML XML:可扩展标记语言 Ruby 中的 String 是容纳、比较和操作文本数据的一种强大方法。在 Ruby 中,String 是一个类,可以通过调用 String::new ...

    ruby教程.rar

    pack模板字符串 sprintf格式 Marshal格式 Ruby FAQ Ruby的陷阱 Ruby/Tk FAQ Ruby的相关书籍 Ruby Documentation Project (RDP) HTML Help版和分立HTML ReFe 索引 功能分类索引 发布条件

    Ruby中操作字符串的一些基本方法

    主要介绍了Ruby中操作字符串的一些基本方法,包括对字符串的压缩和解压缩等处理,需要的朋友可以参考下

    Enigma:编写 Ruby 程序对用户字符串进行编码并解码相应的密码

    谜编写一个 Ruby 程序将用户提供的字符串编码为密码。 该程序还必须能够将密码解码回用户生成的字符串。 最后,编码机制需要是动态的,即它不应该是字母的固定(硬编码)转换,而是每次程序运行时发生的不同转换。 ...

    strings-case:在不同情况下转换字符串

    处理简单字符串的流行解决方案在简单情况下效果很好。(对不起;-)使用更复杂的字符串,您可能会得到意想不到的结果: ActiveSupport :: Inflector . underscore ( "supports IPv6 on iOS 14.4?" ) # =&gt; "supports ...

    javascript的创建多行字符串的7种方法

    尤其是当你处理预定义好的较长字符串时,把这种字符串分成多行书写更有助于提高代码的可读性和可维护性.在一些语言中,多行字符串还可以用来做代码注释.大部分动态脚本语言都支持多行字符串,比如Python, Ruby, PHP. 但...

    Ruby编程语言

     8.2对字符串和块进行求值268  8.3变量和常量271  8.4方法272  8.5钩子方法277  8.6跟踪279  8.7OBJECTSPACE和GC281  8.8定制控制结构281  8.9缺失的方法和常量284  8.10动态创建方法287  8.11别名链290 ...

    ruby学习资料大全,很全很丰富

    强大的字符串操作和正则表达式 开发中快速回馈 迅速和简便: 无需变量声明 变量无类型 语法简单而坚实 自动内存管理 面向对象编程 任何事物都是一个对象 类,继承,方法,等等 单态方法 模块糅合 ...

    Ruby基础语法初探

    Ruby对单引号串处理得很少。除了极少的一些例外。键入到字符串字面量的内容就构成了这个字符串的值。 Ruby对双引号字符串有更多的处理。首先,它寻找以反斜线开始的序列,并用二进制值替换它们。其中最常见的是\n,...

    Ruby是一种强大而优雅的编程语言,以其简洁的语法、动态性、面向对象编程和丰富的类库而著称 以下是对Ruby的500字资源介绍:

    Ruby是一种强大而优雅的编程语言,以其简洁的语法、动态性、面向对象编程和...Ruby拥有丰富的标准库和第三方库,这些库提供了大量的类和方法,涵盖了文件操作、网络编程、字符串处理、正则表达式等常见任务的解决方案

    redis数据结构.pdf

    Redis数据结构和操作 redis不只是一个简单的键(key)-值(value)数据库,实际上它是一... 位数组(位图bitmaps):可以通过特殊命令,像处理位图 一样地处理字符串:设置和清除某一位,统计被置1的位数, 找到第一个被设

    ruby-vips:vips图像处理库的Ruby扩展

    ruby-vips允许您设置在将映像输出到磁盘或字符串之前不会执行的管道。 这意味着您可以创建,操作和传递Image对象,而不会产生任何内存或CPU成本。 除非将映像写入内存或磁盘,否则实际上不会处理该映像。要求。 OS ...

Global site tag (gtag.js) - Google Analytics