ruby 字符串学习2】的更多相关文章

在一个ruby字符串中包含表但是或者变量.想使用不同的值替换表达式或者变量 1 类似java 或者python的printf-style方式 template = 'Oceania has always been at war with %s.' template % 'Eurasia' # => "Oceania has always been at war with Eurasia." template % 'Eastasia' # => "Oceania h…
1 从一种数据结构中构件字符串 hash = { key1: "val1", key2: "val2" } string = "" hash.each { |k,v| string << "#{k} is #{v}\n" } puts string # key1 is val1 # key2 is val2 变种 string = "" hash.each { |k,v| string <…
1获取字符串某部分 s = "My kingdom for a string!" s.slice(3,7) # kingdom s[3,7] # kingdom s[/.ing/] # king s[/str.*/] # string s.slice(3).ord…
1 单独处理字符串的字符 如果处理的是ASCII码的文档使用string#each_byte 注意 没有 string#each方法,String#each_byte 速度比 String#scan快 ,String#scan用于配合正则表达式时使用 'foobar'.each_byte { |x| puts "#{x} = #{x.chr}" } # 102 = f # 111 = o # 111 = o # 98 = b # 97 = a # 114 = r 'foobar'.sc…
ascii转字符或者字符串转ascii "a".ord # => 97 "!".ord # => 33 "\n".ord # => 10 'a'[0] # => "a" 'bad sound'[1] # => "a" 'a'[0].ord # => 97 'bad sound'[1].ord # => 97 97.chr # => "a"…
Ruby 字符串(String) Ruby 中的 String 对象存储并操作一个或多个字节的任意序列,通常表示那些代表人类语言的字符. 最简单的字符串是括在单引号(单引号字符)内.在引号标记内的文本是字符串的值: 'This is a simple Ruby string literal' 如果您需要在单引号字符串内使用单引号字符,那么需要在单引号字符串使用反斜杠,这样 Ruby 解释器就不会认为这个单引号字符会终止字符串: 'Won\'t you read O\'Reilly\'s book…
String字符串 字符串由String类提供,除了直接使用单双引号或其它字面量创建字符串,也可以使用String.new()方法来创建. a = "hello" b = String.new("world") Ruby中的字符串是可变对象. 字符串的连接 直接连接即可: >> "a""b" => "ab" >> "a" "b" =>…
引用链接:http://www.blogjava.net/nkjava/archive/2010/01/03/308088.html 1,切片:silce, [ ]-----------------[ ]是silce的别名,所以两者是完全相同的 操作1:判定字符串中是否含有字串/子模式 string[substring] string[/pattern/] string[/pattern/, position] #position之后的子串中是否含有/pattern/ 如果存在返回子串/子模式串…
学习来源:http://www.codesky.net/article/200910/166595.html truncate(text, length = 30, truncate_string = "...") text是原字符串 length是需要截取的字符串长度,包括中文和英文字符,如果不写,则有默认值,是28 truncate_string是截取后末尾添加的字符结尾,默认是三个点的省略号. 如果字符串未达到指定长度,则不会发生变化. 简单示范一: truncate("…
用户建模 一. User 模型 实现用户注册功能的第一步是,创建一个数据结构,用于存取用户的信息. 在 Rails 中,数据模型的默认数据结构叫模型(model,MVC 中的 M).Rails 为解决数据持久化提供的默认解决方案是,使用数据库存储需要长期使用的数据.与数据库交互默认使用的是 ActiveRecord.Active Record 提供了一系列方法,无需使用关系数据库所用的结构化查询语言(Structured QueryLanguage,简称 SQL),就能创建.保存和查询数据对象.…
一. Ruby内置的辅助方法 1.打开文件:app/views/layouts/application.html.erb(演示应用的网站布局) 来咱把注意力放在圈起来的那一行: 这行代码使用 Rails 内置的 stylesheet_link_tag 方法, 在所有媒介类型中引入 application.css .对有经验的 Rails 开发者来说, 这行代码看起来很简单, 但是其中至少有四个 Ruby 知识点可能会让你困惑: 内置的 Rails 方法, 调用方法时不用括号, 符号(Symbol…
在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示.简单的字符串文本括在单引号中,如 'This is a simple Ruby string literal' 如果需要内置一个单引号,单引号的字符串文字,需要在单引号前面加一个反斜杠,Ruby解释器才不认为遇到了终止字符串,如: 'Won\'t you read O\'Reilly\'s book?' 打印结果为: Won't you read O'Reilly's book? 反斜杠也可以转义另一…
ROR开发,代码优化的方法下面这两项是比较重要的: link_to  Rails的link_to是非常慢的,它的代码实现过于复杂,特别是Rails1.2引入了REST以后,大量的命名路由被使用,这些命名路由还需要通过一次method_missing,那就更加缓慢了.因此对于被频繁使用的内部URL地址,一定要自己用字符串拼接方式改写,可以很明显提高View的render性能.此外类似的helper还有很多,例如button_tag,image_tag啥啥的,如非必要,尽量不用他的helper  正…
构造字符串字面量 方法一:最简单的使用单引号或者双引号括起来的字符串,比如"hello". 方法二:使用%q配合分界符,%q代表单引号str=%q!he/lo! 方法三:使用%Q配合分界符,%Q代表双引号str=%Q{he/lo} 方法四:here document构建字符串,该方法比较适合用于多行字符串的创建.由<<和边界字符串作为开头,由边界字符串作为结尾,比如下列代码:str = <<END_OF_STRING1  We are here now,  wh…
自己公司开现在使用OC语言在写,但Swift似乎是苹果更推荐使用的开发语言,估计也是未来开发的趋势,自己以前有接触swift,但又由于公司的项目赶,也没有时间去好好地学习这款开发语言.现在年底了,项目也进行到一些后期的维护,自己也有时间开充实一下自己了,决定重新开始去学习这款开发语言,也将后面不断地更新自己的学习笔记.   首先,你懂OC语言的话,这款Swift最基本的一些概念性的东西就不需要你再去理解了,会为你的学习带来许多的方便! 第一大点,大家需要知道字符串的本质是一个结构体!这点很重要…
ruby学习笔记2  (摘自<ruby程序设计语言教程(中文版)>.pdf,全书25页) 1.同一个问题ruby有多个解决方案,途径 ruby之父:松本行弘(Matz),1993年创立 ruby的偶数发行版为稳定版 圆括号在方法调用中是可选的.即无论函数定义还是调用函数,括号都随意的 vim为ruby配置一个插件才好用:vim_ruby:在vimrc中添加<map> <F7> :!ruby -Ku % <CR>      表示用F7键运行  -Ku表示utf…
    函数名称 说明 示例 * 将字符串拷贝N次 “ha”*4    >> “hahahaha” + <<  concat 连接字符串 “yes” + “no”  >> “yesno” "yes" << "no" >> “yesno” "yes".concat("no") <=> 比较字符串,返回值如下: 大于:-1   等于:0    小于:1 &qu…
最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看 看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样 主要是我们对字符串进行变量引用的时候要使用双引号 如下: 可支持全部的转义字符及用#{exp}将Ruby中的值插入字符串中 例: i = 5 str = “ abab#{i}cjd”  #->abab5cjd “#{‘ho‘ *3} happy new year”  #->ho ho ho happy new yea…
#!/usr/bin/python # 这一节学习的是python中的字符串操作 # 字符串是在Python中作为序列存在的, 其他的序列有列表和元组 # 1. 序列的操作 S = 'Spam' # 定义了一个序列 print(len(S)) # 获取序列的长度 print(S[0]) # 获取字符串的第一个字符 print(S[1]) # 获取字符串的第二个字符 # 结论: python中的字符串是从0开始索引的 # python的变量不需要提前声明 # 当给一个变量赋值的时候就创建了它, 可…
String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_str new(str="", capacity: size) → new_str encoding指定创建什么编码的字符串,即new_str是什么编码的. capacity指定创建字符串对象时预先分配好的buffer大小.如果以后要扩容该字符串,就不需要再临时动态分配内存.对于后续可能需要…
接上篇 一. 注册表单 用户资料页面已经可以访问了, 但内容还不完整.下面我们要为网站创建一个注册表单. 1.使用 form_for 注册页面的核心是一个表单, 用于提交注册相关的信息(名字.电子邮件地址.密码和确认密码).在 Rails中, 创建表单可以使用 form_for 辅助方法, 传入 Active Record 对象后, 使用该对象的属性构建一个表单. 回顾一下: 注册页面的地址是 /signup, 由 Users 控制器的 new 动作处理.首先, 我们要创建传给 form_for…
注册 一.调试信息和 Rails 环境 现在咱们要实现的用户资料页面是我们这个应用中第一个真正意义上的动态页面.虽然视图的代码不会动态改变, 不过每个用户资料页面显示的内容却是从数据库中读取的.添加动态页面之前, 最好做些准备工作, 现在我们能做的就是在网站布局中加入一些调试信息, 如下图所示.这段代码使用 Rails 内置的 debug方法和 params 变量(以后再做详细介绍), 在各个页面显示一些对开发有帮助的信息. 1.在网站布局中添加一些调试信息 打开文件:app/views/lay…
接上篇 一. 添加安全密码 我们已经为 name 和 email 字段添加了验证规则, 现在要加入用户所需的最后一个常规属性: 安全密码.每个用户都要设置一个密码(还要二次确认), 数据库中则存储经过哈希(hash)加密后的密码(这里的hash是加密算法). 验证身份的方法是, 获取用户提交的密码, 哈希加密, 再与数据库中存储的密码哈希值对比.如果二者一致, 用户提交的就是正确的密码, 用户的身份也就通过验证了.我们要对比的是密码哈希值, 而不是原始密码, 所以不用在数据库中存储用户的密码.因…
添加一些结构 一.网站导航 1.添加一些结构后的网站布局文件 打开文件:app/views/layouts/application.html.erb 简单介绍一下,添加的代码: 我们从上往下看一下这段代码中新添加的元素.前面简单介绍过,Rails 默认使用 HTML5(如文档类型声明 <!DOCTYPE html> 所示).因为 HTML5 标准还很新, 有些浏览器(特别是旧版 Internet Explorer)还没有完全支持,所以我们加载了一些 JavaScript 代码(称作 HTML5…
续上篇: 一. 有点内容的静态页面 rails new 命令创建了一个布局文件, 不过现在最好不用.我们重命名这个文件: $ mv app/views/layouts/application.html.erb layout_file # 临时改动 注:在真实的应用中你不需要这么做,不过没有这个文件能让你更好地理解它的作用. 注:关于表题所需变动的部分 1. 添加标题 添加标题之前,我们要知道网页的一般结构,如下图所示: 我们要使用 assert_select 方法分别为app/views/sta…
前言 终于开始学习新的东西了,总结一下字符串的一些知识. NO.1 字符串哈希(Hash) 定义 即将一个字符串转化成一个整数,并保证字符串不同,得到的哈希值不同,这样就可以用来判断一个该字串是否重复出现过. 所以说\(Hash\)就是用来求字符串是否相同或者包含的.(包含关系就可以枚举区间,但是通常用\(KMP\),不会真的有人用看脸的\(Hash\)做字符串匹配吧,不会吧不会吧). 实现 实现方式也是比较简单的,其实就是把一个字符串转化为数字进行比较,到这里可能有人就会说,直接比较长度和\(…
字符 在.NET Framework中,每个字符都是System.Char结构的一个实例.System.Char类型很简单,提供了两个公共只读常量字段:MinValue和MaxValue. GetNumericValue方法返回字符的数值形式. public static void Go() { Double d; // 数字3 d = Char.GetNumericValue('\u0033'); // '3' would work too Console.WriteLine(d.ToStri…
 TimeDate格式化输出: DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d %H:%M:%S').to_s #就是按照2013-8-16 16:42:13的格式输出 如果只想输出日期,而不要输出具体时间 DateTime.parse(Time.now.to_s).strftime('%Y-%m-%d').to_s #就是按照2013-8-16格式输出 反向格式化(将字符串转化为日期格式): DateTime.parse(params['dat…
这三个方法在ROR中经常用到,都是用来判断是否为空的. 区别是: ruby的方法:.nil?..empty? rails的方法 :.blank? 用法的区别: .nil?    :   判断对象是否存在. .empty? :   是对象已经存在,判断是否为空字段. .blank?  :   相当于同时满足 .nil? 和 .empty? . 注: Rails API中的解释是如果对象是:false, empty, 空白字符都是blank. 比如说: "", " ",…
基于rails4.0环境 当使用Ckeditor上传中文命名图片时报错,解决方法是对图片进行重命名 在Ckeditor插件的安装目录下找到controllers/.../application.rb 比如:E:\RailsInstaller\Ruby1.9.3\lib\ruby\gems\1.9.1\gems\ckeditor-4.0.4\app\controllers\ckeditor\application.rb 然后找到 def respond_with_asset(asset) def…