字符串比较
Ruby中比较字符串是否相同也是用**==和!=**等运算符
1 | #whether two strings are equal |
如果是判断两字符串是否相似,采用正则表达式匹配更加简单。
1 | #whether two strings are similar |
字符串大小由字符编码的顺序决定,可以通过调用String#ord方法获取字符编码的码位。
1 | #compare two strings, which is bigger |
注:Windows平台下的中文字符使用GBK编码,但非Windows平台下的中文字符使用UTF-8编码
字符串的分割
用特定字符分割字符串时可以使用split方法。
1 | #split string with a special character |
字符串的换行符
用each_line方法从标准输入读取字符串时,字符串后面肯定有换行符。在操作字符串时,我们可能不需要换行符。此时可以使用chomp和**chomp!**方法来删除字符串行末的换行符。
1 | #delete the line break character from a string |
如果说只想移除字符串行末的最后一个任意字符,可以通过是用chop和**chop!**方法来实现
1 | #delete the last character from a string |
字符串的索引
使用index和rindex方法可以获取某个字符串在另一个字符串中得索引位置,如果不在,则返回nil。index方法从左向右检索,rindex从右向左检索。
1 | #get the index which a string in another string |
如果只想判断某个字符串中是否包含另一个字符串时,使用**include?**方法更佳。
1 | #a string whether contains another string |
字符串的置换
字符串的置换可以通过调用sub和gsub来实现。sub方法仅替换第一个出现的匹配字符,而gsub则会替换所有的匹配字符。
1 | #the replacing of string |
字符串的置换还可以通过像替换数组中元素的方式来实现,即索引
1 | str = "hello" |
字符串与数组相同的方法
字符串的很多方法都与数组相同,主要分为以下三大类:
- 与索引操作相关的方法
- 与Enumerable模块相关的方法
- 与连接、反转相关的方法
删除字符串中的一部分字符并返回,可使用slice方法
slice(n)
slice(n..m)
slice(n, m)
slice!(n)
slice!(n..m)
slice!(n, m)
1 | #the slice of string |
不带块的情况下,大部分原生的迭代器在调用时都会返回Enumberable对象。因此我们可以对each_line, each_byte, each_char等方法的返回值继续使用像map, collect等方法。
1 | #the enumerable of string |
delete(str)
delete!(str)
删除字符串中指定的字符串,并返回删除后的字符
1 | #delete the specific string from another string |
reverse(str)
reverse!(str)
反转字符串,包括破坏方法与非破坏方法
1 | #reverse a string |
str.strip
str.strip!
删除字符串str中行首和行尾的空白字符
1 | #remove the white space at the begin and end of string |
str.upcase/str.upcase!
str.downcase/str.downcase!
str.swapcase/str.swapcase!
str.capitalize/str.capitalize!
字符串大小写的转换系列方法, swapcase方法是将字符串中的大小写相互转换。而capitalize方法则是将字符串的首个字符大写,其余的均改为小写
1 | #text transform |