`
viva_yang
  • 浏览: 35575 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

ruby字符串处理

阅读更多
1.返回字符串的长度
str.length => integer

2.判断字符串中是否包含另一个串
str.include? other_str => true or false

   "hello".include? "lo"   #=> true
   "hello".include? "ol"   #=> false
   "hello".include? ?h     #=> true

3.字符串插入:
str.insert(index, other_str) => str

   "abcd".insert(0, 'X')    #=> "Xabcd"
   "abcd".insert(3, 'X')    #=> "abcXd"
   "abcd".insert(4, 'X')    #=> "abcdX"
   "abcd".insert(-3, 'X')
-3, 'X')   #=> "abXcd"
   "abcd".insert(-1, 'X')   #=> "abcdX"

4.字符串分隔,默认分隔符为空格
str.split(pattern=$;, [limit]) => anArray

" now's  the time".split        #=> ["now's", "the", "time"]
   "1, 2.34,56, 7".split(%r{,\s*}) #=> ["1", "2.34", "56", "7"]
   "hello".split(//)               #=> ["h", "e", "l", "l", "o"]
   "hello".split(//, 3)            #=> ["h", "e", "llo"]
   "hi mom".split(%r{\s*})         #=> ["h", "i", "m", "o", "m"]

   "mellow yellow".split("ello")   #=> ["m", "w y", "w"]
   "1,2,,3,4,,".split(',')         #=> ["1", "2", "", "3", "4"]
   "1,2,,3,4,,".split(',', 4)      #=> ["1", "2", "", "3,4,,"]
 
5.字符串替换
str.gsub(pattern, replacement) => new_str
str.gsub(pattern) {|match| block } => new_str

"hello".gsub(/[aeiou]/, '*')              #=> "h*ll*"     #将元音替换成*号
   "hello".gsub(/([aeiou])/, '<\1>')         #=> "h<e>ll<o>"   #将元音加上尖括号,\1表示保留原有字符???
   "hello".gsub(/./) {|s| s[0].to_s + ' '}   #=> "104 101 108 108 111 "


字符串替换二:
str.replace(other_str) => str
   s = "hello"         #=> "hello"
   s.replace "world"   #=> "world"

6.字符串删除:

str.delete([other_str]+) => new_str
"hello".delete "l","lo"        #=> "heo"
   "hello".delete "lo"            #=> "he"
   "hello".delete "aeiou", "^e"   #=> "hell"
   "hello".delete "ej-m"          #=> "ho"

7.去掉前和后的空格
str.lstrip => new_str

   "  hello  ".lstrip   #=> "hello  "
   "hello".lstrip       #=> "hello"

8.字符串匹配
str.match(pattern) => matchdata or nil

9.字符串反转
str.reverse => new_str

"stressed".reverse   #=> "desserts"

10.去掉重复的字符
str.squeeze([other_str]*) => new_str
"yellow moon".squeeze                  #=> "yelow mon"  #默认去掉串中所有重复的字符
"  now   is  the".squeeze(" ")         #=> " now is the"  #去掉串中重复的空格
"putters shoot balls".squeeze("m-z")   #=> "puters shot balls"  #去掉指定范围内的重复字符


11.转化成数字
str.to_i=> str
"12345".to_i             #=> 12345



chomp和chop的区别:
chomp:去掉字符串末尾的\n或\r
chop:去掉字符串末尾的最后一个字符,不管是\n\r还是普通字符

"hello".chomp            #=> "hello"
   "hello\n".chomp          #=> "hello"

   "hello\r\n".chomp        #=> "hello"
   "hello\n\r".chomp        #=> "hello\n"
   "hello\r".chomp          #=> "hello"
   "hello".chomp("llo")     #=> "he"
"string\r\n".chop   #=> "string"
   "string\n\r".chop   #=> "string\n"
   "string\n".chop     #=> "string"
   "string".chop       #=> "strin"
分享到:
评论
1 楼 tyrael 2009-06-16  
请问,有没有好的办法判断字符串的值是否为数字?
比如,3、1.25、-15.3这都“是数字”,而1.2.3、1a7这样的都不是数字?
之前我用to_i来判断,但好像有点缺陷:
D:\ruby\rails_apps>irb
irb(main):001:0> puts "3".to_i
3
=> nil
irb(main):002:0> puts "abc".to_i
0
=> nil
irb(main):003:0> puts "-3".to_i
-3
=> nil
irb(main):004:0> puts "3.54".to_i
3
=> nil
irb(main):005:0> puts "--3.54".to_i
0
=> nil
irb(main):006:0> puts "3.54.1".to_i
3
=> nil#两个小数点不能识别……

不知道正确方法应该是怎样的?

相关推荐

    Ruby 字符串处理

    Ruby将字符串像数字一样处理.我们用单引号(‘…’)或双引号(…)将它们括起来. ruby&gt; abc  abc ruby&gt; ‘abc’  abc 单引号和双引号在某些情况下有不同的作用.一个由双引号括起来的字符串允许字符由一个前置的斜杠...

    Ruby-Stringex一些实用的Ruby字符串扩展类

    如果你在项目中使用了Ruby,那么添加Stringex作为依赖可以极大地提升你的字符串处理能力。通过阅读源码,你可以更深入地理解其实现原理,甚至可以根据自己的需求扩展它的功能。 总之,Stringex是Ruby开发者的一个...

    ruby的二进制字符串与hex互转,二进制字符串与整数互转的工具函数

    本资源是ruby代码,提供了一系列封装好的函数,用于快速进行转换,一个函数搞定,包括如下转换,二进制字符串与hex字符串的互转。二进制字符串与整数互转,包括uint8,uin16,uint32, 以及本地字节序和网络字节序两种...

    Ruby-Unicode字符串调试帮助

    综上所述,Ruby在Unicode字符串处理方面提供了强大的支持,但也需要开发者熟悉Unicode的基本概念和Ruby的相关API。通过理解和运用这些知识点,可以更有效地调试和解决与Unicode字符串相关的问题。在遇到困难时,不要...

    Ruby中操作字符串的一些基本方法

    这些只是Ruby字符串处理的一部分特性,Ruby还提供了许多其他方法,如拼接(`+`运算符),重复(`*`运算符),切片(`[]`操作符),以及与正则表达式的配合使用等,使得字符串操作既高效又便捷。理解并熟练掌握这些方法对于...

    使用Ruby来处理文本的教程

    首先,Ruby中的字符串处理功能非常丰富。字符串是Ruby中一个类(String class),它提供了一整套方法来操作文本。创建字符串实例有两种常用的方式,要么通过调用String.new方法,要么直接向其分配一个字面量值。例如...

    ruby基础教程(第四版)第14章 字符串类1

    在本章“ruby基础教程(第四版)第14章 字符串类1”中,我们将深入探讨Ruby中的字符串处理方法和特性。 首先,创建字符串在Ruby中有多种方式。你可以使用双引号或单引号,双引号允许内嵌表达式展开,而单引号则不会...

    Ruby中常用的字符串处理函数使用实例

    1.返回字符串的长度 代码如下: str.length =&gt; integer 2.判断字符串中是否包含另一个串 代码如下: str.include? other_str =&gt; true or false “hello”.include? “lo” #=&gt; true “hello”.include? “ol” #=&gt;...

    用string拆分字符串

    在编程领域,字符串(String)是数据处理的基本元素之一,经常需要进行拆分操作。当我们处理包含多个信息片段的字符串时,比如以特定分隔符连接的数据,就需要使用字符串的拆分方法来获取各个部分。本篇文章将深入探讨...

    多行字符串的表示方式

    在Ruby中,heredoc和单引号、双引号字符串提供了灵活的多行字符串处理方案,而`string.rb`文件则揭示了这些功能背后的实现细节。通过深入学习和实践,我们可以更好地利用这些工具来提升编程效率和代码质量。

    字符串压缩

    字符串压缩的主要目的是通过消除数据中的冗余来降低存储需求,这在处理大量文本数据时尤其有用。在编程领域,有许多不同的压缩算法,如霍夫曼编码、LZ77、LZ78、DEFLATE(广泛应用于ZIP和GZIP格式)等。 描述中提到...

    分割字符串函数 分割字符串函数

    在编程领域,分割字符串函数是处理文本数据时非常常用的一种工具。它允许我们将一个长字符串按照特定的分隔符拆分成多个子字符串,方便我们进行后续的分析、处理或存储。这里,我们将深入探讨字符串分割函数的相关...

    字符串和时间戳相互转换

    在编程领域,字符串和时间戳之间的转换是常见的操作,尤其在处理日期和时间相关的功能时。时间戳(Timestamp)通常表示为自1970年1月1日(UTC/GMT的午夜)以来的秒数,不考虑闰秒。而字符串则可以是多种格式的日期和...

    各种语言的字符串逆序 Python、JavaScript、Java、C#、C++、Ruby、PHP、Go和Rust等语言

    涵盖了Python、JavaScript、Java、C#、C++、Ruby、PHP、Go和Rust等语言,展示了如何使用各自语言的特性和标准库来反转字符串。 适用人群 编程初学者:正在学习基本的字符串操作。 软件开发者:需要在项目中实现字符...

    截 取 字符 串.rar

    在IT行业中,字符串处理是一项基础且重要的技能,尤其是在编程领域。标题“截取字符串.rar”以及描述中的重复信息暗示了这个压缩包可能包含了关于如何在各种编程语言中进行字符串截取的相关资料。在这个主题中,我们...

    模糊字符串匹配:ruby的模糊字符串匹配库

    什么是模糊字符串匹配 Fuzzy-string-match是用于ruby的模糊字符串匹配库。... 纯Ruby版本可以处理ASCII和UTF8字符串。 (而且很慢) 本机版本只能使用ASCII字符串。 (但是很快) 样例代码 本机版本 req

    从字符串中返回指定数目的字符源代码.zip

    在IT行业中,字符串处理是编程工作中的基础任务之一。标题提到的"从字符串中返回指定数目的字符源代码"涉及到的是字符串操作的核心概念,尤其是在编程语言中如何截取字符串的一部分,通常这涉及到字符串的切片或者...

Global site tag (gtag.js) - Google Analytics