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 次) |
|
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') » 3 "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反复对 |
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! |
个字符 |
"hello".tr_s('l', 'r') » "hero" "hello".tr_s('el', '*') » "h*o" "hello".tr_s('el', 'hx') » "hhxo" |
|
|
在从 |
"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 |
将字符串转为字符串 |
|
Ruby语言学习系列--String 类函数的更多相关文章
- C语言学习系列笔记
1.小甲鱼 C语言教程系列
- ruby语言学习笔记2
ruby学习笔记2 (摘自<ruby程序设计语言教程(中文版)>.pdf,全书25页) 1.同一个问题ruby有多个解决方案,途径 ruby之父:松本行弘(Matz),1993年创立 r ...
- Ruby语言学习笔记
在codecademy上开始玩ruby了 1.数据类型:boolean,string,number 变量直接用即可,不用声明(“拿来主义”) 运算符:+ - * / ** % == != && ...
- C语言学习系列(一)开门首篇
一.特辑 此次是我自己的学习之路,和大家一起分享(我现在是做Java),途中遇到什么问题大家也可以提出来一起讨论一起进步: 主要参考教程是菜鸟教程上面的C语言教程,以及大学课本C语言教程-第四版(谭浩 ...
- C#学习系列-String与string的区别
参考:http://www.microsoftvirtualacademy.com/Content/ViewContent.aspx?et=9851&m=9832&ct=31042 如 ...
- 语言学习系列-Scala连接数据库示例
Scala语法 预装数据库Mysql,登录用户名密码为:root:root,建立数据库test1,建立数据表emp: package com.ccb.day1 import java.sql.Dr ...
- 五语言学习系列 C,C++,Objective-C,Java,C# (一)历史
C:由AT&T贝尔实验室的Dennis Ritchie于1972年创建的,是专为开发者设计的语言. C++:在C基础上,1983年又由贝尔实验室的Bjarne Strou-strup推出了C+ ...
- Spark Scala语言学习系列之完成HelloWorld程序(三种方式)
三种方式完成HelloWorld程序 分别采用在REPL,命令行(scala脚本)和Eclipse下运行hello world. 一.Scala REPL. windows下安装好scala后,直接C ...
- C语言学习系列(六)基本语法
一.C运算符 算术运算符(语法和java类似或基本一样略过不再描述) 关系运算符(略) 逻辑运算符(略) 位运算符 运算符 描述 实例 & 如果同时存在于两个操作数中,二进制 AND 运算符复 ...
随机推荐
- Delphi Dll 动态调用例子(3)-仔细看一下
http://blog.163.com/bxf_0011/blog/static/35420330200952075114318/ Delphi 动态链接库的动态和静态调用 为了让人能快速的理解 静态 ...
- [leetcode] 18. Length of Last Word
这个题目很简单,给一个字符串,然后返回最后一个单词的长度就行.题目如下: Given a string s consists of upper/lower-case alphabets and emp ...
- Mac iTerm2登陆CentOS提示warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[报错原因]:没有utf-8这个语系(没添加语言_国名前缀),LC_ALL又没设定值. 服务端解决方法: 在远程系统上, /etc/environment 加入以下两行,重新登陆即可. LANG=en ...
- 微信小程序支付C#后端源码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...
- Redis持久化策略(RDB &AOF)
redis持久化的几种方式 1.前言 Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服 ...
- 程序媛计划——python初级课时1~2
在命令行中运行py文件:python 文件路径/文件名 python变量必须赋值后才能使用,因为py变量只有赋值后才会被创建. py可以同时给多个变量赋值:a,b,c = 10,20,'dfjkdj' ...
- iOS 卡顿
1 使用 dispatch_async,也可能会出现卡顿. 由于mac系统允许overcommit,而iOS系统不允许overcommit 故要控制GCD队列的数量并且最好设置target queue ...
- list页面-按照choice筛选丶传condition过滤筛选项丶筛选与显示同步
1.list页面:筛选功能优化,显示choices,传condition过滤筛选项 list_filter = [ # sites.FilterOption("name", ...
- HTTP/1.0中,状态码200 301 304 403 404 500的含义?
200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误, ...
- 程序猿的日常——Java基础之clone、序列化、字符串、数组
其实Java还有很多其他的基础知识,在日常工作技术撕逼中也是经常被讨论的问题. 深克隆与浅克隆 在Java中创建对象有两种方式: 一种是new操作符,它创建了一个新的对象,并把对应的各个字段初始化成默 ...