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=> 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的整型,字符串,浮点数,布尔等基础数据类型,还有数组,哈希hash的用法, 类的定义,函数方法,以及对象定义,其他高级用法解释,除了笔记记录的语法糖之外,还包含了一些解释性的代码,帮助...
Ruby的字符串字面量构造使用了“小单大双”的规则,其中%q代表单引号字符串,而%Q和%代表双引号字符串。当需要在字符串中嵌入变量或表达式时,可以使用双引号字符串配合#{...}的格式。使用%w和%W可以创建单引号或双...
1. **基础语法**:Ruby的基础元素,如变量、数据类型(整数、浮点数、字符串、布尔值、数组、哈希等)、控制结构(条件语句、循环)以及函数的使用。 2. **面向对象编程**:Ruby是完全面向对象的语言,所以会涵盖类...
5. **GString(字符串插值)**:Groovy的GString允许在字符串中直接插入变量值,使得字符串的构建更加直观。 6. **内建的集合支持**:Groovy提供了丰富的集合操作,如map、filter、each等,使得处理数组和列表变得...
- **字符串处理**: Groovy提供了丰富的字符串处理功能,包括格式化字符串、字符串替换等。 - **集合操作**: 支持多种集合类型,如列表(List)和映射(Map),并提供了便捷的操作方法。 - **类和闭包**: Groovy支持面向...
- **字符串**(String) - **布尔值**(TrueClass, FalseClass) - **数组**(Array) - **哈希**(Hash) 示例代码: ```ruby # 数字 num = 123 puts num.class # 输出:Integer # 字符串 str = "Hello, Ruby!" ...
在Ruby中,一切都是对象,包括基本类型如整数、字符串和布尔值。这种特性使得编程更为简洁,因为你可以对任何对象进行方法调用。Ruby的类和模块系统也非常强大,它们提供了继承、封装和多态等面向对象特性。模块用于...
1. **面向对象编程(Object-Oriented Programming, OOP)**:Ruby是完全的面向对象语言,每个值都是一个对象,包括基本类型如整数、字符串和布尔值。类是创建对象的蓝图,实例化一个类就能创建一个新的对象。理解类...
4. **GString**: Groovy的字符串支持模板语法,可以方便地进行字符串格式化,如`"Hello, ${name}"`。 5. **运算符重载和方法默认参数**: Groovy允许操作符重载和方法定义默认参数,增强了代码的可读性和灵活性。 **...
2. **类型**:包括基本环境和内置类型,如整型、浮点型、字符串、列表、元组、字典等,以及它们的使用和操作。 3. **表达式**:涵盖了词法、赋值、运算符、控制流(如if语句、for循环、while循环)、推导式(列表...
Ruby的`eval`函数可以执行字符串作为代码,`define_method`可以动态地定义方法,这些都极大地扩展了编程的可能性。 Ruby的标准库非常丰富,包含了各种工具和模块,如文件I/O、网络通信、JSON解析等。此外,Ruby还有...
- **定义函数**:通过定义一个接受参数的函数,并在函数内部返回包含参数的字符串,这种方式便于复用代码。 - **面向对象**:定义一个类,并在类中定义属性和方法,通过创建类的实例来调用方法输出内容。这种方式...
4. **GString**:Groovy的字符串可以包含表达式,通过`${}`来嵌入变量或表达式的值,方便字符串拼接。 5. **操作符重载**:Groovy允许自定义操作符,如`+`、`-`等,以实现自定义的逻辑。 6. **元编程**:Groovy...
在Ruby中,一切都是对象,包括基本的数据类型如数字、字符串和布尔值。理解这一点至关重要,因为这意味着你可以对任何东西调用方法,这极大地增强了代码的灵活性和可扩展性。 Ruby的语法简洁明了,它采用了自解释的...
1. **语法高亮**:这是编辑器为了增强代码可读性而使用的一种技术,通过色彩和字体的差异来突出代码结构,比如使用特定颜色表示关键字、字符串、注释等。这样可以帮助开发者快速识别代码的不同部分,减少阅读和理解...
- **模式匹配**:Scala支持强大的模式匹配功能,可用于字符串、类型以及复杂的数据结构。 - **样例类**:样例类是Scala中一种特殊的类,主要用于模式匹配。它们自动实现了许多有用的特性,如`equals`、`hashCode`和`...
Ruby支持四种主要的数据类型:字符串(String)、整数(Integer)、浮点数(Float)和布尔值(Boolean)。 控制结构是编程的基础,Ruby提供了if/else语句、case语句、循环(如while、for和until)以及块(block)来...
六、数组和字符串扩展 Prototype还为Array和String等内置类型提供了许多实用的扩展方法,如`Array.prototype.each()`, `String.prototype.startsWith()`等,增强了这些类型的可操作性。 七、实际应用 Prototype常...
2. **基础语法**:介绍变量、常量、数据类型(如整型、浮点型、字符串、数组、哈希等),条件语句(如 if/else、case)、循环结构(如 for、while、until、each)以及控制流(如 break、next)。 3. **函数与方法**...