美文网首页
Ruby字符串处理

Ruby字符串处理

作者: coloc | 来源:发表于2017-05-03 11:54 被阅读0次

ruby字符串处理方法

截取

单个字符

>> s = "hello"
=> "hello"
>> s[0]  # 第一个字符
=> "h"
>> s[s.length - 1] # 左边数字符串长度减1个,即最后一个字符,左边数下标从0开始
=> "o"
>> s[-1]  # 右边数第一个字符
=> "o"
>> s[-s.length]   # 右边数字符串长度个,即第一个字符
=> "h"
>> s[10]  # 索引超出范围
=> nil

子串

>> s = "hello"
=> "hello"
>> s[2..3]    # 位于索引2到3的字符
=> "ll"
>> s[-3..-1] # 可以使用负的索引值,代表从右向左
=> "llo"
>> s[0..0]    # 第一个字符
=> "h"
>> s[0..1]    # 前两个字符
=> "he"
>> s[2..1]    # 起始索引大于结束索引,为空字符串
=> ""
>> s[7..10]  # 索引超出范围
=> nil

替换

替换单个

>> s = "hello"
=> "hello"
>> s[0] = "H"  # 将第一个字符替换为新字符
=> "H"
>> s
=> "Hello"
>> s[-2] = "L" # 将右边数第2个字符替换为新字符
=> "L"
>> s
=> "HelLo"
>> s[-1] = "UU" # 将右边数第1个字符替换为新字符集
=> "UU"
>> s
=> "HelLUU"
>> s[10] = "U"  # 抛出异常,索引超出范围
IndexError: index 10 out of string

替换子集

>> s = "hello"
=> "hello"
>> s[-2..-1] = "pas"  # 将从右数第2到第1个字符替换为新值
=> "pas"
>> s
=> "helpas"
>> s[0..0] = "please "  # 将第一个字符替换为新值
=> "please "
>> s
=> "please elpas"
>> s[6..10] = ""  # 将第6到10个字符替换为空值,即删除子串
=> ""
irb(main):029:0> s
=> "pleases"

包含

>> s = "hello"
=> "hello"
>> s["el"]  # 测试是否包含子串,包含的情况
=> "el"
>> s["LL"]  # 不包含的情况
=> nil
>> while(s["l"])   # 循环测试,将匹配到的所有子串替换为新值
>> s["l"]="L"
>> end
=> nil
>> s
=> "heLLo"

相关文章

  • Ruby字符串处理

    ruby字符串处理方法 截取 单个字符 子串 替换 替换单个 替换子集 包含

  • Ruby 字符串处理函数

    字符串处理函数1.返回字符串的长度 str.length => integer 2.判断字符串中是否包含另一个串 ...

  • ruby 数据类型

    1. Ruby 字符串(String) 2. Ruby 数组 3. Ruby 哈希 哈希的内置方法 4. Ruby...

  • ruby字符串

    Ruby 中的 String 对象用于存储或操作一个或多个字节的序列。 Ruby 字符串分为单引号字符串(')和双...

  • Ruby字符串(string)

    Ruby 中的 String 对象用于存储或操作一个或多个字节的序列。 Ruby 字符串分为单引号字符串(')和双...

  • 2016-11-04 task-list

    今日任务 ruby on rails 第四章 ruby 元编程 今日总结 ruby 单引号与双引号字符串的重大区别...

  • 异常处理的写法

    ruby中使用begin rescue end语句描述异常处理 在ruby中,异常及其相关信息都是被作为对象来处理...

  • Ruby 字符串

  • Ruby字符串

    构建方法 索引 操作方法 给定字符串str = "abc" 空字符吗 长度 删除换行符 删除前后空白 找指定字符串...

  • Ruby 中的编码问题

    近日使用ruby获取设备的短信,由于获取到的字符有乱码导致对字符串的处理程序报错 其他操作也一样报错可以使用如下程...

网友评论

      本文标题:Ruby字符串处理

      本文链接:https://www.haomeiwen.com/subject/oouktxtx.html