ruby学习-字符串
字符串
1.创建字符1:new用来创建新字符,empty?检验字符是否为空
title = String.new #=> ""
title.empty? #=>true
创建字符2:用"="
str = "hello"或者str='hello'(ps:单/双 引号区别," "会转义,' '原样输出,"\n"是换行效果)
2.通用分隔符 %+例如!!,{},[]
str = %! hehe !
3.嵌入文档
sonnet =<<
this is a language i think good
do u know
30
puts sonnet
4.字符连接
+,<<,.contact方法(此只连一个字符串)
Object.freeze冻结字符串,禁止改变
5.字符串访问
e.g. str="a horse!"
str['hor']#若存在'hor则返回‘hor',否则返回nil表示搜索字符串不存在。
str[7]#=>33,因为是个"!",其字符编码是33,
所以str[7].chr #=>"!"
str[2,2]#=>"ho", str[2,2].capitalize#=>"Ho"
str[0..3]#=>a ho而 str[0...3]#=>a h 三个点表示不包括最后一个字符
6.字符串比较:
<=>比较的是字符编码,-1,0,1代表小于,等于,大于"a" <=>"a" #=>0
而casecmp则会忽略大小写"a"<=>"A" #=>1,"a".casecmp "A" #=>0
6.字符操作:
6.1字符插入:insert方法
"Be careful".insert 3,"very " #=>Be very careful
6.2字符替换
str="sun of bitch"
(1) str["bitch"]="brother" #=>sun of brother
(2) str[7]="a " #=>sun of a bitch
(3) str[3,11]="shine" #=>sunshine
(4)str[/bitch$/]="brother" #正则表达式
ruby学习-字符串的更多相关文章
- Ruby学习中(首探数组, 注释, 运算符, 三元表达式, 字符串)
一. 数组 1.定义一个数组 games = ["英雄联盟", "绝地求生", "钢铁雄心"] puts games 2.数组的循环 gam ...
- ruby 学习笔记 1
写ruby blog 系统的记录下.也是对我学ruby的点滴记录. 先介绍下我的学习环境.系统:ubuntu12.04文档:techotopia ,ruby文档,the hard way learn ...
- Ruby学习心得之 Linux下搭建Ruby环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Ruby学习心得之 Linux下搭建Ruby环境1.前言2.Linux下安装Ruby环境 一 ...
- .Net程序员之Python基础教程学习----字符串的使用 [Second Day]
在The FirstDay 里面学习了列表的元组的使用,今天开始学习字符串的使用.字符串的使用主要要掌握,字符串的格式化(C语言中我们应该都知道,Python和C语言差别不大),字符串的基本 ...
- Ruby学习之mixin
直接上代码: module Action def jump @distance = rand(4) + 2 puts "I jumped forward #{@distance} feet! ...
- ruby学习网站
Ruby官方中文网(推荐): https://www.ruby-lang.org/zh_cn/ 国内非常不错的Ruby学习教程网站(推荐): http://www.yiibai.com/ruby Ru ...
- Ruby学习笔记4: 动态web app的建立
Ruby学习笔记4: 动态web app的建立 We will first build the Categories page. This page contains topics like Art, ...
- ruby学习笔记(1)-puts,p,print的区别
ruby学习笔记-puts,p,print的区别 共同点:都是用来屏幕输出的. 不同点:puts 输出内容后,会自动换行(如果内容参数为空,则仅输出一个换行符号):另外如果内容参数中有转义符,输出时将 ...
- Ruby学习之对象模型
这两周工作内容较多,平时自己也有点不在状态,学的东西有点少了,趁着现在还有点状态,赶紧复习一下之前学习的Ruby吧. Ruby是我真正开始接触动态语言魅力的第一个语言,之前虽然也用过且一直用perl. ...
随机推荐
- 转---python os.exec*()家族函数的用法
execl(file, arg0,arg1,...) 用参数列表arg0, arg1 等等执行文件 execv(file, arglist) 除了使用参数向量列表,其他的和execl()相同 exec ...
- 一个Entity Framework、ADO.NET查询性能测试
Entity Framework自然是会比ADO.NET性能慢点,这个不多说了.直接上结果. 本该用测试项目的,不过我建了个aspx.下面是随便测20遍得到的结果 补充!!把12行改成 list = ...
- JavaScript 数字转汉字+element时间选择器快速选择
window.CN = { : '一', : '二', : '三', : '四', : '五', : '六', : '七', : '八', : '九', : '零' } window.LEVEL = ...
- Mac下MySQL与MySQLWorkbench的安装
通过查阅各种各样的资料,去安装这些东东.最后经过一番周折终于安装完成.下面是对安装过程和遇到的问题做个简单记录. 一. 下载MySQL和MySQL Workbench http://dev.mysql ...
- Linux - vim 编辑器
gconf-editor # 配置编辑器 /etc/vimrc # 配置文件路径 vim +24 file # 打开文件定位到指定行 vim file1 file2 # 打开多个文件 vim -O2 ...
- 出现fonts/fontawesome-webfont.woff?v=4.5.0 net::ERR_ABORTED
虽然网页正常显示和运行,但是有2个字体文件出现404错误. 原因:服务器没有配置MIME类型而已. 1. 在IIS网站中,找打网站对应的MIME类型,双击. 2.能看到此网站对应的MIME类型,点击右 ...
- json和jsonp的使用区别
json和jsonp的使用区别 一. 跨域请求的概念 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象. 二. json和jsonp JSON是一种基于文本的数据交换方 ...
- android当前网络连接类型判断
package net.nyist.netState; import android.content.Context; import android.net.ConnectivityManager; ...
- try 、catch 、finally 、throw 测试js错误
try语句允许我们定义在执行时进行错误测试的代码块. catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块. finally 语句在 try 和 catch 之后无论有无异常都会执 ...
- python 面向对象的类
参考<learn python hard way> 网址:https://learnpythonthehardway.org/book/ex41.html class X(Y) " ...