zoukankan      html  css  js  c++  java
  • Ruby语言学习系列--String 类函数

       

    函数名称

    说明

    示例

    *

    将字符串拷贝N

    ha*4    >> hahahaha

    +

    << 

    concat

    连接字符串

    yes + no  >> yesno

    "yes" << "no" >> yesno

    "yes".concat("no")

    <=>

    比较字符串,返回值如下:

    大于:-1   等于:0    小于:1

    "Ab" <=> "ab" >> -1

    "ab" <=> "ab" >> 0

    "ab" <=> "Ab" >> 1

    == ===

    判断两个对象是否相等

    "1" == "1"   >>true

    "1" == 1     >>flase

    =~

    匹配正则表达式

    "abc123abc" =~ /"d/ >> 3

    [ ] slice

    返回字符串的某一范围内的值

    abc[0,2]           >> ab

    "hello"[/llo/]          >> llo

    abc slice [0,2]      >> ab

    [ ]=

    替换字符串的某一范围内的值

    a = hello word

    a[1,2]= OO

    puts a    >> hOOlo word

    capitalize

    capitalize!

    把字符串的首字母大写,其他字母小写

    "hi,Ruby".capitalize

    >> Hi,ruby

    chomp

    chomp!

    删除字符串后的空白字符

    "string"r"n".chomp

    >> string

    chop

    删除最后一个字符

    "string".chop >> strin

    count

    返回该字符串中含的字符个数

    a = "hello world" 

    a.count "lo" >> 5

    (l出现 3次,o出现 2)

    delete

    delete!

    删除字符

    "hello".delete "l","lo"  » "heo" 

    "hello".delete "lo"      » "he" 

    downcase

    downcase

    将大写字母改写为小写

    "hEllO".downcase  » "hello" 

    upcase

    upcase

    将小写字母改写为大写

    "hEllO".upcase » "HELLO" 

    swapcase swapcase!

    将所有的大写字母改为小写字母,

    小写字母改为大写字母。

    "Hello".swapcase » "hELLO" 

    each

    对字符串中的各行进行迭代操作

    "Hi"nRuby". each { |s| puts s}

    each_byte

    对字符串中的各个字节进行迭代操作

    "Hi"nRuby". each_byte { |s| puts s}

    each_line

    对字符串中的每一行进行迭代操作

    "Hi"nRuby". each_line { |s| puts s}

    empty?

    判断字符串是否为空

    "hello".empty?    » false 

    "".empty?         » true 

    gsub

    gsub

    replace来替换字符串中所有与pattern相匹配的部分

    "hello".gsub(/[aeiou]/, '*')  » "h*ll*"

    hash

    返回字符串的哈希值

    "h".hash    >> 107

    include?

    若字符串中包含substr子字符串的话,就返回真

    "hello".include? "lo" » true 

    "hello".include? "ol" » false 

    index

    按照从左到右的顺序搜索子字符串,并返回搜索到的子字符串的左侧位置. 若没有搜索到则返回nil

    "hello".index('lo')     »

    "hello".index('a')      » nil 

    length

    返回字符串的字节数

    "hello".length   >> 5

    replace

    替换字符串的内容

    s = "hello"           » "hello" 

    s.replace "world"     » "world" 

    sub sub!

    replace来替换首次匹配pattern的部分。

    "hello".sub(/[aeiou]/, '*') 

    » "h*llo" 

    reverse

    reverse!

    对字符串进行反转

    "stressed".reverse » "desserts" 

    scan

    使用正则表达式re反复对self进行匹配操作,并以数组的形式返回匹配成功的子字符串

    a = "cruel world" 

    a.scan(/"w+/)    » ["cruel", "world"] 

    a.scan(/.../)      » ["cru", "el ", "wor"]

    split

    使用sep指定的pattern来分割字符串,并将分割结果存入数组

    "mellow yellow".split("ello") 

    » ["m", "w y", "w"]  

    squeeze

    squeeze!

    压缩由str所含字符构成的重复字符串

    "yellow moon".squeeze 

    » "yelow mon" 

    " now   is the".squeeze(" ") 

    » " now is the" 

    strip

    strip!

    删除头部和尾部的所有空白字符。空白字符是指" "t"r"n"f"v"

    "    hello    ".strip » "hello" 

    ""tgoodbye"r"n".strip » "goodbye"

    tr tr!

    若字符串中包含search字符串中的字符时,就将其替换为replace字符串中相应的字符

    hello".tr('aeiou', '*')     » "h*ll*" 

    "hello".tr('^aeiou', '*')   » "*e**o" 

    tr_s tr_s

    若字符串中包含search字符串中的字符时,就将其替换为replace字符串中相应的字符。同时,若替换部分中出现重复字符串时,就将其压缩为1个字符

    "hello".tr_s('l', 'r')       » "hero" 

    "hello".tr_s('el', '*')      » "h*o" 

    "hello".tr_s('el', 'hx')    » "hhxo" 

    upto

    在从selfmax的范围内,依次取出下一个字符串后将其传给块,进行迭代操作

    "a1".upto("a3") {|s| puts s}

    » a1"na2"na3

    to_f

    将字符串转为浮点数

    "45.67 degrees".to_f » 45.67 

    to_i

    将字符串转为整数

    "99 red balloons".to_i » 99 

    to_s

    将字符串转为字符串

     

  • 相关阅读:
    【SaltStack官方版】—— states教程, part 4
    【SaltStack官方版】—— states教程, part 3
    【SaltStack官方版】—— states教程, part 2
    斐波那契递归和非递归算法
    实现两个大数相乘
    快速排序算法
    HadoopMR-Spark-HBase-Hive
    windows10 conda python多版本切换
    websocket通信 实现java模拟一个client与webclient通信
    maven jsp out.print()request.getParameter() 爆红
  • 原文地址:https://www.cnblogs.com/wangyuyu/p/3314073.html
Copyright © 2011-2022 走看看