Chinaunix首页 | 论坛 | 博客
  • 博客访问: 98975
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 213
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-23 18:34
文章分类

全部博文(11)

文章存档

2013年(11)

我的朋友

分类: Python/Ruby

2013-09-11 10:12:43

文本与字符串

一般我们会使用双引号将文本括起来,如 puts “Hello,Word!”,字符串是一组任意长度的文本字符(包括数字、字母、空格、符合)的集合。在Ruby中所有的字符串都是String类

的对象,正如调用字符串的 class方法,如 puts “Hello, Word!”.class

引号只适合于单行文本,如果想包含多行文本,使用%q{文本}的方法,文本的分解符可以使用<>、()或自选两个

分界符如 !和!,如果所引用正文中一旦有!,就会导致这种方法出错,所以要慎重选用!分界符。

如:x = %q{This is a test of the multi line capabilities}
或 x = %q!This is a test of the multi line capabilities!

分界符可用多个字符,
如 irb(main):018:0> x = < irb(main):019:0" This is the string
irb(main):020:0" And a second line
irb(main):021:0" END_MY_WORD
=> "This is the string\nAnd a second line\n"
irb(main):022:0> puts x
This is the string
And a second line
=> nil

<< 标记了字符串的开始,后跟所选择的分界符,最后以所选的分界符结束


字符串的表达式

字符串的乘法操作,即将字符串复制多次

如:puts “abc”*5

irb(main):027:0> puts "abc" * 5
abcabcabcabcabc
=> nil

查看字符的ASCII码值,通过puts ?字符
如:puts ?x
irb(main):028:0> puts ?x
120
=> nil

与其相反的是 puts 120.chr 方法,可查看是哪个字符
irb(main):032:0> puts 120.chr
x
=> nil

插写

插写的方法:#{变量}
如:x = "cat"
puts "The #{x} in the hat"

irb(main):034:0> x = "cat"
=> "cat"
irb(main):035:0> puts "The #{x} is in the hat"
The cat is in the hat
=> nil

可通过其它方式实现插写的结果:to_s (将数字转换成字符串)
如:
irb(main):054:0> x = 10
=> 10
irb(main):055:0> y = 20
=> 20
irb(main):056:0> puts  x.to_s + " + " + y.to_s + " = " + (x + y).to_s
10 + 20 = 30
=> nil
irb(main):057:0> puts "#{x} + #{y} = #{x + y}"
10 + 20 = 30
=> nil

字符串的方法汇总
+ 连接两个字符串
capitalize  首字母大写  “test”.capitalize
downcase   将所有字母转换成小写  “TEst”.downcase
chop  去掉最后一个字符   “Test”.chop
hash  输出字符串的哈希值
next  将最后一个字符串替换为下一个字符串
reverse  倒序输出字符串
sum    求字符串的ASCII值的和
swapcase 将字符串大小写切换
upcase   字符串全部大写
upcase.reverse  将字符串全部大写并倒序输出
upcase.reverse.next 将字符串全部大写并倒序,且将最后一个字符串替换为下一个字符串
length  取字符串的长度

 

 


 

阅读(1985) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~