`
hbxiao135
  • 浏览: 108841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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])/, '') #=> "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=&gt; 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 #=> ""</o></e>

分享到:
评论

相关推荐

    Ruby简洁学习笔记(一):字符串、数字、类和对象

    Ruby是一种优雅且强大的编程语言,以其简洁的语法...从字符串插值、输入输出处理,到类和对象的定义,Ruby都提供了灵活的工具来帮助开发者构建复杂的程序。不断探索和实践,你将能够更深入地理解和利用Ruby的这些特性。

    精华ruby学习笔记和代码

    这个笔记里包含了ruby的整型,字符串,浮点数,布尔等基础数据类型,还有数组,哈希hash的用法, 类的定义,函数方法,以及对象定义,其他高级用法解释,除了笔记记录的语法糖之外,还包含了一些解释性的代码,帮助...

    Ruby自学笔记

    Ruby的字符串字面量构造使用了“小单大双”的规则,其中%q代表单引号字符串,而%Q和%代表双引号字符串。当需要在字符串中嵌入变量或表达式时,可以使用双引号字符串配合#{...}的格式。使用%w和%W可以创建单引号或双...

    ls_rb130:开展学校课程RB130的笔记,示例,练习

    1. **基础语法**:Ruby的基础元素,如变量、数据类型(整数、浮点数、字符串、布尔值、数组、哈希等)、控制结构(条件语句、循环)以及函数的使用。 2. **面向对象编程**:Ruby是完全面向对象的语言,所以会涵盖类...

    Groovy学习笔记 PDF版

    5. **GString(字符串插值)**:Groovy的GString允许在字符串中直接插入变量值,使得字符串的构建更加直观。 6. **内建的集合支持**:Groovy提供了丰富的集合操作,如map、filter、each等,使得处理数组和列表变得...

    Groovy学习笔记

    - **字符串处理**: Groovy提供了丰富的字符串处理功能,包括格式化字符串、字符串替换等。 - **集合操作**: 支持多种集合类型,如列表(List)和映射(Map),并提供了便捷的操作方法。 - **类和闭包**: Groovy支持面向...

    ruby语言入门教程-自学笔记

    - **字符串**(String) - **布尔值**(TrueClass, FalseClass) - **数组**(Array) - **哈希**(Hash) 示例代码: ```ruby # 数字 num = 123 puts num.class # 输出:Integer # 字符串 str = "Hello, Ruby!" ...

    ruby介绍及相应的ruby demo示意源码,供大家参考学习

    在Ruby中,一切都是对象,包括基本类型如整数、字符串和布尔值。这种特性使得编程更为简洁,因为你可以对任何对象进行方法调用。Ruby的类和模块系统也非常强大,它们提供了继承、封装和多态等面向对象特性。模块用于...

    ruby初学笔记ruby初学笔记

    1. **面向对象编程(Object-Oriented Programming, OOP)**:Ruby是完全的面向对象语言,每个值都是一个对象,包括基本类型如整数、字符串和布尔值。类是创建对象的蓝图,实例化一个类就能创建一个新的对象。理解类...

    Groovy 学习笔记

    4. **GString**: Groovy的字符串支持模板语法,可以方便地进行字符串格式化,如`"Hello, ${name}"`。 5. **运算符重载和方法默认参数**: Groovy允许操作符重载和方法定义默认参数,增强了代码的可读性和灵活性。 **...

    Python 学习笔记 第三版1

    2. **类型**:包括基本环境和内置类型,如整型、浮点型、字符串、列表、元组、字典等,以及它们的使用和操作。 3. **表达式**:涵盖了词法、赋值、运算符、控制流(如if语句、for循环、while循环)、推导式(列表...

    ruby-practice:回购我学习Ruby的书籍

    Ruby的`eval`函数可以执行字符串作为代码,`define_method`可以动态地定义方法,这些都极大地扩展了编程的可能性。 Ruby的标准库非常丰富,包含了各种工具和模块,如文件I/O、网络通信、JSON解析等。此外,Ruby还有...

    Ruby初学笔记之Hello World

    - **定义函数**:通过定义一个接受参数的函数,并在函数内部返回包含参数的字符串,这种方式便于复用代码。 - **面向对象**:定义一个类,并在类中定义属性和方法,通过创建类的实例来调用方法输出内容。这种方式...

    Groovy语法&Gradle配置学习笔记

    4. **GString**:Groovy的字符串可以包含表达式,通过`${}`来嵌入变量或表达式的值,方便字符串拼接。 5. **操作符重载**:Groovy允许自定义操作符,如`+`、`-`等,以实现自定义的逻辑。 6. **元编程**:Groovy...

    Ruby 语言教程从小白到入门

    在Ruby中,一切都是对象,包括基本的数据类型如数字、字符串和布尔值。理解这一点至关重要,因为这意味着你可以对任何东西调用方法,这极大地增强了代码的灵活性和可扩展性。 Ruby的语法简洁明了,它采用了自解释的...

    高级笔记本

    1. **语法高亮**:这是编辑器为了增强代码可读性而使用的一种技术,通过色彩和字体的差异来突出代码结构,比如使用特定颜色表示关键字、字符串、注释等。这样可以帮助开发者快速识别代码的不同部分,减少阅读和理解...

    scala的操作笔记

    - **模式匹配**:Scala支持强大的模式匹配功能,可用于字符串、类型以及复杂的数据结构。 - **样例类**:样例类是Scala中一种特殊的类,主要用于模式匹配。它们自动实现了许多有用的特性,如`equals`、`hashCode`和`...

    note:笔记

    Ruby支持四种主要的数据类型:字符串(String)、整数(Integer)、浮点数(Float)和布尔值(Boolean)。 控制结构是编程的基础,Ruby提供了if/else语句、case语句、循环(如while、for和until)以及块(block)来...

    prototype 开发应用手册,笔记,prototype.js文件下载

    六、数组和字符串扩展 Prototype还为Array和String等内置类型提供了许多实用的扩展方法,如`Array.prototype.each()`, `String.prototype.startsWith()`等,增强了这些类型的可操作性。 七、实际应用 Prototype常...

    W5D1

    2. **基础语法**:介绍变量、常量、数据类型(如整型、浮点型、字符串、数组、哈希等),条件语句(如 if/else、case)、循环结构(如 for、while、until、each)以及控制流(如 break、next)。 3. **函数与方法**...

Global site tag (gtag.js) - Google Analytics