`

ruby学习笔记--String

    博客分类:
  • ruby
阅读更多

字符串(String)

1.创建字符串

       Ruby中可以使用单引号和双引号两种方法来创建一个字符串。但是使用这两种方式创建特殊字符串时,效果有很大区别。

       双引号创建字符串:Ruby会对字符串中的转义字符和特殊字符进行替换;

       单引号创建字符串:不进行替换

示例:

puts 'This stirng \n delimited by single quotes'                  #\n:换行符

puts "This stirng \n delimited by double quotes"

       s=”Ruby”

puts 'Start to learn #{s}'                 

puts " Start to learn #{s}"

------------------------------ Result -------------------------------

     This stirng \n delimited by single quotes

This stirng

        delimited by double quotes

Start to learn #{s}

    Start to learn Ruby

 

2.%创建多行字符串

       如果希望一个字符串由多行文本字符组成的,可以使用%表示法来创建共有三种形式:

       %/ string / :其中”/”是分隔符,可以是斜线,括号等其它字符。”string”表示是一个多行文本字符串,此形式的功能类似于双引号创建的字符串。

       %Q/ string / :与%/ string / 用法相同。

       %q/ string / :此形式的功能类似于单引号创建的字符串。

示例:

       name="Kobe"

age = "23"

gender = "male" 

       a=%q/

name :#{name}

age:#{age}

gender:#{gender}

/

b=%Q {

name :#{name}

age :#{age}

gender :#{gender}

}

      

       puts a,b

-----------------result--------------------

name:#{name}

age:#{age}

gender:#{gender}

 

name:Kobe

age:23

gender:male

 

3. Here Document

       这是Ruby提供的别外一种多行字符串的表示形式,其格式如下:

       <<标识符

              #string

       标识符

Note必须以两个”<”开头,标识符可以是任意字符,起始与结束的标识符要一致另外,在Here Document的语法中,还可以把”<<”后面的标识符用单引号或双引号括起来,用于确定不同的替换程度;

示例:

        name="Kobe"

age = "23"

gender = "male"

 

a=<<info

name:#{name}

age:#{age}

gender:#{gender}

info

puts a

--------------------result-----------------------

  name:Kobe

   age:23

   gender:male

 

4. 字符串的常用操作

1.合并字符串:

       + :原有字符串的值不变

       << :是在原有字符串的基础上添加另一个字符串,会修改原有字符串的值。

示例:

        a = "this is the first string!"

b = "---second"

c = a + b

puts c,a

d = a << b

puts d,a

-------------------result--------------------------

 this is the first string!---second

 this is the first string!

 this is the first string!---second

 this is the first string!---second

 

2.替换字符串:

     可以使用Ruby内置类中的replace方法进行字符串替换;当有一个字符串对象的内容被替换时,指定这个字符串的变量都会变化;

示例:

     a = "this is the first string!"

b = a

puts a,b

b.replace("hellow world")

puts a,b

-----------------result------------------------

 this is the first string!

 this is the first string!

 hellow world

 hellow world

 

3.改变字符串:

常用方法如下:

方法

说明

capitalize

将字符串首字母转换成大写

upcase

将字符串中所有字母转换成大写

downcase

将字符串中所有字母转换成小写

swapcase

将字符串大写字母转换成小写,小写字母转换成大写

strip

去掉字符串中的首尾空格

lstrip

去掉字符串中左边的空格

rstrip

去掉字符串中右边的空格

chop

删除字符串中的最后一个字符

chomp

删除字符串中的最后换行符

reverse

将字符串所有的单词倒过来,并将单词中的字符也倒过来

示例:

    a = "this is the first string!"

puts a.reverse

puts a

puts a.upcase

puts a

--------------result------------------

 !gnirts tsrif eht si siht

 this is the first string!           #原有字符串的值没有改变

 THIS IS THE FIRST STRING!

 this is the first string!

 

4.获取或替换字符和子字符串:

     Ruby可以使用 [] 读取字符串中的字符或子字符串,使用 []= 方法可以替换字符串中的字符和子字符串; [] 方法的参数是字符的索引,返回一个ASCII码值,可以使用chr方法把它转换为字符;

示例:

   a = "abcdefghijklmnopqrstuvwxyz"

   puts a[0]

   puts a[0].chr

   puts a[-1]                     #索引可为正数(从左开始,0开始)或负数(从右开始,-1开始)

   puts a[-1].chr

   puts a[2,5]                   #从索引为2的字符开始取5个字符

   puts a[0] = "z"

   puts a

   a[10,5] = "AAAAA"

   puts a

------------result---------------------------

97

a

122

z

cdefg

Q

Qbcdefghijklmnopqrstuvwxyz

QbcdefghijAAAAApqrstuvwxyz

 

5.比较两个字符串是否相等:

     1. 使用”==”或内置访方法 eql? 来比较两个字符串内容是否相等;

     2. 使用 equal? 方法比较两个对象是否相同;

示例:

if"one" == "one"  

    puts "equal"

    else

       puts "unequal"

    end    

if "one".eql?("one")

    puts "equal"

else

       puts "unequal"

end

if "one".equal?("one")

    puts "equal"

else

    puts "unequal"

end

--------------------result---------------------

equal

equ  al

unequal 

 

6. <=>:比较两个字符串大小:

     字符串比较大小时实际比较的是字母的ASCII码;

示例

puts "one" <=> "one"  

    puts "one" <=> "two"

    puts "one" <=> "apple"  

if "a" > "b"

         puts "a>b, true"

else

         puts "a>b, false"

end

---------------result------------------

0

-1

1

a>b, false

分享到:
评论

相关推荐

    学习 Ruby 的笔记以及 Demo(简介、语言特性、应用场景、Ruby 注释、Ruby 文件的构造与析构语句Ruby 变量等)

    Ruby 学习笔记 1、简介 定义:一种简单快捷的面向对象脚本语言 开发者:松本行弘 开发时间:1995年 设计目的:A PROGRAMMER'S BEST FRIEND【程序员的最佳朋友】 文件扩展名:rb 2、语言特性 真正的面向对象编程语言 ...

    ruby语言入门教程-自学笔记

    在开始学习Ruby之前,需要确保已经在计算机上安装了Ruby环境。以下是不同操作系统上的安装步骤: - **Windows系统**: 1. 访问Ruby官方网站(https://www.ruby-lang.org/en/downloads/)下载Ruby安装包。 2. 运行...

    Ruby元编程基础学习笔记整理

    ### Ruby元编程基础学习笔记整理 #### 一、语言构建(Language Constructs) 在Ruby中,诸如变量、类和方法等元素统称为语言构建(Language Constructs)。这些构建块是构成Ruby程序的基础。 ##### 示例代码分析 ```...

    active mq 学习笔记

    ### ActiveMQ学习笔记知识点梳理 #### 一、ActiveMQ简介 **定义:** - **ActiveMQ**是由Apache出品的一款功能强大的开源消息中间件。作为消息队列(Message Queue,简称MQ)的一种,它主要用来在分布式系统之间...

    Ruby中的String对象学习笔记

    1、String对象定义 String对象的定义可以使用””和”,对于单纯的字符串,推荐使用”进行定义,效率比””高,””与”的区别在于,”内的字符串定义后就是最终形态,即使如\n换行符,也会原样输出,而””更像是一...

    ruby 学习笔记(1) 初识语法

    单从技术而言,ruby本身确实很爽,令程序员的工作变得轻松有趣! 下面的代码演示了如何找出100以内的素数: 代码如下: using System; namespace Mersenne { class Program { static void Main(string[] args) { for ...

    Ruby简洁学习笔记(一):字符串、数字、类和对象

    在Ruby的`String`类中,字符串可以包含变量、特殊字符和表达式。例如: ```ruby puts "Hello #{showname}" puts("\n\t#{(1+2) * 3}\nGoodbye") ``` 在这段代码中,`#{}` 用于计算表达式 `(1+2) * 3` 的结果,并将其...

    Groovy学习笔记.pdf

    Groovy是一种动态、灵活的编程语言,它是Java平台上的一个主要补充,特别是在脚本编写和快速原型设计方面表现突出。...这份"Groovy学习笔记.pdf"应该会提供一个良好的起点,帮助你踏上Groovy的学习之旅。

    rails _sunspot 学习笔记

    Sunspot 是一个用于 Ruby on Rails 的灵活且强大的全文检索框架。它基于 Solr 和 Lucene 构建,可以方便地集成到 Rails 应用中,为用户提供高效的搜索功能。 #### 二、Sunspot 安装 在开始之前,请确保已经安装了...

    note:笔记

    Ruby支持四种主要的数据类型:字符串(String)、整数(Integer)、浮点数(Float)和布尔值(Boolean)。 控制结构是编程的基础,Ruby提供了if/else语句、case语句、循环(如while、for和until)以及块(block)来...

    redis实战中文版

    - **String**: 最基本的数据类型,可以用来存储任何数据。 - **Hash**: 用于存储键值对集合。 - **List**: 有序的字符串列表。 - **Set**: 无序不重复的字符串集合。 - **Sorted Set**: 含有分数(score)的Set。 #...

    prototype 开发应用手册,笔记,prototype.js文件下载

    Prototype还为Array和String等内置类型提供了许多实用的扩展方法,如`Array.prototype.each()`, `String.prototype.startsWith()`等,增强了这些类型的可操作性。 七、实际应用 Prototype常被用于构建复杂的Web...

    cancan_lab-v-000

    CancanCan秘密笔记目标了解如何创建能力类。 了解如何在数据库中对权限进行建模。 防止用户访问控制器中的某些操作。 防止用户看到某些视图。概述我们将学习如何将集成到Rails应用程序中。 我们在此示例中的授权模型...

    OwnResearchs:记录所思所想

    在“OwnResearchs:记录所思所想”这个项目中,我们可以看出这是一份个人的研究笔记,主要聚焦于编程语言Swift的学习与探索。虽然标签上提及了“JavaScript”,但根据标题和描述,我们主要讨论的内容将围绕Swift进行...

Global site tag (gtag.js) - Google Analytics