String中有用但是不常用到的方法:
1)、self[substr]
当自身当中包含substr的时候。则生成并返回一致的字符串
  irb(main):075:0> substr = "bar"
  => "bar"
  irb(main):076:0> result = "foobar"[substr]
  => "bar"
  irb(main):077:0> p result
  "bar"
  => "bar"
  irb(main):078:0> substr.eql?(result)
  => true

2)、capitalize、 capitalize!
将字符串的首字符转换为大写,其余的转换为小写
  irb(main):095:0> xx = "abcdef"
  => "abcdef"
  irb(main):096:0> xx
  => "abcdef"
  irb(main):097:0> xx.capitalize
  => "Abcdef"
  irb(main):098:0> xx
  => "abcdef"
  irb(main):099:0> xx.capitailze!
  irb(main):102:0> xx
  => "Abcdef"

这里顺便说明一下方法尾部带!跟不带!的区别,其实通过上边的例子已经很清楚的看到了。带!的是直接对对字符串内容进行修改,而不带!的只是对字符串进行规定的操作,并不对字符串本身造成破坏。

3)、casecmp(other)
此方法跟 “<=>”方法类似,但是它忽略大小写
  irb(main):105:0> "A".casecmp("a")
  => 0
  irb(main):106:0> "A"<=>"a"
  => -1

4)、center、 ljust、 rjust、 center(length, str)、 ljust(length, str)、 rjust(length, str)
  irb(main):107:0> "foo".center(20)
  => "        foo         "
  irb(main):108:0> "foo".center(20,"*")
  => "********foo*********"
  irb(main):109:0> "foo".ljust(20)
  => "foo                 "
  irb(main):110:0> "foo".ljust(20,"*")
  => "foo*****************"
  irb(main):111:0> "foo".rjust(20)
  => "                 foo"
  irb(main):112:0> "foo".rjust(20,"*")

=> "*****************foo"

5)、count
该方法返回在该字符串中str所含字符出现的次数
  irb(main):125:0> xx
  => "abc"
  irb(main):126:0> "abcc".count("c")
  => 2
  irb(main):127:0> "abcc".count("a-c")
  => 4
  irb(main):128:0> "123345657688".count("23456")
  => 8
  以上方法中如果“-”出现在中间就表示一个范围,当`^'出现在头部时表示"取反"
  以下是该方法的一个应用场景
  n_line = File.open("foo").read.count("\n")   #=>统计文件的行数(文件尾部要有换行符)

6)、crypt
生成并返回一个由self和salt加密而成的字符串,salt一般是使用数字、字母、.以及下划线等构成的字符串,一般应选择尽量随机的字符串
salt = [rand(64),rand(64)].pack("C*").tr("\x00-\x3f","A-Za-z0-9./")
passwd.crypt(salt).
该方法一般很难利用加密后的字符串求出原字符串,所以一般用于用户密码加密

7)、delete(str1,str2, ...)、 delete!(str1,str2, ...)
从该字符串中删除str所包含的字符。若出现多个参数,则组多个参数的交集
  irb(main):129:0> "123454656546789".delete("2-8","^4-6")
  => "14546565469"
  irb(main):130:0> "234545667".delete("345")
  => "2667"
改方法会返回修改后的字符串,而delete!会修改原字符串。

8)、each_line、 each_byte
对字符串中的各行进行迭代,对字符串的各个字符进行迭代
  “abcdefgh”.each_byte {|e| print e, " "}  #=>97 98 99 100 101 102 103 104 => "abcdefgh"

8)、gsub(pattern, replace)、 gsub(pattern) {|matched| .... }
当带有replace参数的时候,原字符串就通过匹配pattern,然后将匹配的字符用replace替换。但是当不带replace参数的时候就可以当一个迭代器使用,这个时候pattern就会被当做一个参数被传递到改迭代器块。这个用法比较强大。
  irb(main):138:0> "abcabc".gsub(/b/,"B")
  => "aBcaBc"
  irb(main):139:0> "abcabc".gsub(/b/) {|e| e.upcase!}
  => "aBcaBc"
  同样,带有!的会对字符串自身进行修改。
  (这个方法还有待再去研究)

9)、intern、 to_sym
以上两个方法的使用方法基本类似,都是将一个字符串转化为一个符号
  irb(main):140:0> "abc".intern
  => :abc
  irb(main):141:0> "abc".to_sym
  => :abc
  irb(main):142:0> "cat and dog".intern
  => :"cat and dog"

10)、next、 next!、 succ、 succ!
返回下一个字符串,是按照26个英文字母的顺序或者10进制数的顺序返回
  irb(main):145:0> "abc".next
  => "abd"
  irb(main):146:0> "fg11".succ
  => "fg12"

11)、oct(将字符串看成8进制字符串), hex(将字符串看成是10进制字符串)

12)、squeeze([str[,str2[, ... ]]])
压缩由str所含字符构成的重复字符串,`a-c'表示从a到c,而像"^0-9"这样,当`^'出现在头部时表示"取反",若给出多个参数,则意味着会使用所有参数的交集进行压缩
  irb(main):147:0> "11112345565656".squeeze
  => "1234565656"
  irb(main):148:0> "11112345565656".squeeze("1")
  => "12345565656"

13)、strip、 strip!
删除头部和尾部的所有空白字符串,空白字符是指" \t\r\n\f\v"
  irb(main):149:0> "abc   ".strip
  => "abc"
  irb(main):150:0> "abc\t\n".strip
  => "abc"

13)、lstrip、lstrip!
删除字符串头部的所有空白字符。空白字符是指" \t\r\n\f\v"。

14)、rstrip 、rstrip!
删除字符串尾部的所有空白字符。空白字符是指" \t\r\n\f\v"。

15)、swapcase、swapcase!
将所有的大写换成小写,小写换成大写

Ruby中有用但不常用的String方法总结相关推荐

  1. Java String API 常用的String方法详解

    标题 String类的特性 Java中String类的构造方法 String类的 intern() 注意还跟jdk有关 如何保证变量S指向的是字符串常量池中的数据呢? 关于String中 new St ...

  2. C++常用字符串string方法

    文章目录 字符串string操作方法 1. 类方法 使用示例 2. 头文件cstring方法 使用示例 字符串string操作方法 1. 类方法 在C++中,引入string.h头文件可以使用C语言中 ...

  3. datastage中oracle组件,Datastage常用组件使用方法(详尽版)

    常用组件使用方法: Sequential file1 功能特点:适用于一般顺序文件(定长或不定长),可识别文本文件或IBM大机ebcdic文件. 使用要点: 按照命名规范命名 点住文件,双击鼠标,在g ...

  4. ruby array_在Ruby中使用Array.pop和Array.shift方法从Array中删除元素

    ruby array Ruby Array.pop和Array.shift方法 (Ruby Array.pop and Array.shift methods) If you are reading ...

  5. _.uniq_在Ruby中使用Array.compact和Array.uniq方法从Array中移除元素

    _.uniq Ruby Array.compact和Array.uniq方法 (Ruby Array.compact and Array.uniq Methods) In the last artic ...

  6. 在 Ruby 中执行 Shell 命令的 6 种方法

    我们时常会与操作系统交互或在 Ruby 中执行 Shell 命令.Ruby为我们提供了完成该任务的诸多方法. Exec Kernel#exec 通过执行给定的命令来替换当前进程,例如: $ irb & ...

  7. Python中request的content,text和string方法的区别

    content,text和string方法的区别 content & text text & string content & text 源码: @propertydef te ...

  8. 机器学习中原始数据处理的常用数据变换方法整理汇总

    在机器学习进行数据处理前,首先要保证所有数据是无量纲的,并且数据是可以比较的,需要采用标准化方法来消除不同数据之间存在的差异.将原始数据进行处理,变为无量纲可比较的过程实际可以看做是归一化的过程. 目 ...

  9. string 方法 java_java中常用的String方法

    1 length()字符串的长度 String a = "Hello Word!"; System.out.println(a.length); 输出的结果是字符串长度10. 2 ...

最新文章

  1. [Python]一行代码判断请求参数是否正确
  2. ActivityMQ消息持久化到HANA数据库
  3. Spring MVC 概述
  4. opengl加载显示3D模型IFC类型文件
  5. pycharm matplotlib 图片显示
  6. springboot整合spring @Cache和Redis
  7. 时间管理领域的三八原则
  8. java 背单词系统_5分钟用两个App打造你自己的背单词体系
  9. 3Dmax各类问题汇总及其完整解决方法
  10. 数字频率计的Verilog设计
  11. RobotStudio 机器人的直线运动控制
  12. 台式机显示屏作为笔记本显示屏的设置
  13. 玩转基因组浏览器之IGV展示bam文件
  14. unplugin-auto-import自动导入
  15. 不知道如何选用笔记本电脑的快来看看
  16. 自我激励二十法(zz)
  17. linux系统使用crontab定时删除日志文件
  18. 对window的注册表进行优化
  19. Ubuntu 10.04 下载(官方地址)
  20. 毕设分享SSM 网上购物商城系统(含源码+论文)

热门文章

  1. 1377:最优乘车(travel)——Dijkstra
  2. 国仁网络:微信如何开通视频号;视频号运营教程指南大全。
  3. 图像腐蚀和膨胀的原理
  4. 华为鸿蒙11公测版,华为EMUI 11公测开启,首批10款机型,可优先尝鲜鸿蒙
  5. 谁是近期全世界最受瞩目的聊天对象?
  6. 10 ping不通widwos7 windwos_w7专业版和旗舰版的区别讲解
  7. 手机看动漫,精彩玩转指尖
  8. 性能测试调优JVM调优(三)之JMeter使用
  9. mybatis-plus数据安全保护 加密解密
  10. 我在阿里干些啥?大学怎么过,才能去大厂实习?