Ruby中字符串左侧补零方法实例
最近有个需求,把数字显示成固定的位数,位数不足的在前面以零补充
比如 5 位:
3 -> 00003
292 -> 00292
12422 -> 12422
发现 Ruby 很容易就可以实现了
irb> "%05d" % 12422
"12422"
irb> "%05d" % 22
"00022"
上面的方法基本上是标准作法。如果是直接处理字符串,也可以用 String#rjust:
"12422".rjust(5, '0') => "12422"
"22".rjust(5, '0') => "00022"
附:另一篇
项目中用到了字符串左右补零的算法,最后发现rails有这方面的函数可以实现,省去不必要的麻烦,例子应该很简单易懂
>>> a = 22
>>> s = str(a).rjust(4, '0')
>>> print s
0022
>>> a = 2222
>>> s = str(a).rjust(4, '0')
>>> print s
2222
相关推荐
-
Ruby中实现把字符串转换为类的2种方法
最近有个需求,需要根据一个字符串当作一个类来使用,例如: 有一个字符串 "ChinaMag",根据这个字符串调用 类 ChinaMag下的方法. 解决办法: 1.rails可以使用 constantize方法. 复制代码 代码如下: pry(main)> 'ChinaMag'.constantize => ChinaMag pry(main)> "Test::Unit".constantize => Test::Unit 2.ruby可以使用
-
Ruby 字符串处理
Ruby将字符串像数字一样处理.我们用单引号('...')或双引号("...")将它们括起来. ruby> "abc" "abc" ruby> 'abc' "abc" 单引号和双引号在某些情况下有不同的作用.一个由双引号括起来的字符串允许字符由一个前置的斜杠引出,而且可以用#{}内嵌表达式.而 单引号括起来的字符串并不会对字符串作任何解释;你看到的是什么便是什么.几个例子: ruby> print "
-
详解Ruby中正则表达式对字符串的匹配和替换操作
正则匹配 说起Ruby当然要提起它的正则表达式机制,正则表达式作为一个强大的匹配语言已经越来越多的使用到不同的领域当中,从字符串验证,匹配,到网页抽取等.虽然有些人诟病与正则表达式的匹配效率,但是考虑到正则的强大匹配能力也就无所谓了. 说起Ruby正则表达式不就不能不说起Ruby的=~和match两种匹配方式,我们还是用实例来说明一下这两种匹配方式的区别吧.先来说一说=~的用法吧: message="afhadhffkdf414j" regex=/[a-z](\d{3})[a-z]/
-
Ruby中的字符串编写示例
优先使用 字符串插值 来代替 字符串串联. # bad email_with_name = user.name + ' <' + user.email + '>' # good email_with_name = "#{user.name} <#{user.email}>" # good email_with_name = format('%s <%s>', user.name, user.email) Consider padding string
-
Ruby中创建字符串的一些技巧小结
%{String} 用于创建一个使用双引号括起来的字符串 %Q{String} 用于创建一个使用双引号括起来的字符串 复制代码 代码如下: str=<<END_OF_STRING a string END_OF_STRING %Q!Some String of "Characters"! <==> " Some String of /"Characters/" " %q{String} 用于创建一个使用单引号括起
-
Ruby编写HTML脚本替换小程序的实例分享
在一个文件里有很多以下内容: <p style="display:none">此题选D. .... .... .... </p> 而本人要实现的功能是将它替换成: <div style="display:none" class="sl_explain">此题选D. ..... ..... ..... </div> 这个东西看起来有点简单,但本人整整花了半天才实现此功能,主要是很久没写RUBY程序了,
-
Ruby的字符串与数组求最大值的相关问题讨论
max方法 b=[1,3,55,777,2,4,6,8,0] 对于数值型的数据,max会得到数组的最大值,min得到数组的最小值 b.max => 777 b.min => 0 而对于字符串型数组比较大小没有实际意义, ruby中给出的例子是 # enum.max -> obj # enum.max { |a, b| block } -> obj #a = %w(albatross dog horse) #a.max => "horse" # a.max
-
Ruby中操作字符串的一些基本方法
在Ruby中的String对象持有和操纵的任意序列的一个或多个字节,通常表示人类语言的字符表示. 简单的字符串文本括在单引号(单引号字符).引号内的文本的字符串值: 'This is a simple Ruby string literal' 如果需要内放置一个单引号,单引号的字符串文字,在它前面加上一个反斜杠Ruby解释器不认为终止字符串: 'Won\'t you read O\'Reilly\'s book?' 反斜杠也可以转义另一个反斜杠,这样第二个反斜杠本身不是解释为转义字符. 以下是字
-
Ruby字符串、条件、循环、数组、Hash、类基本操作笔记
一.字符串操作 字符串插值 1.#{}: 任意放置在#{}中的合法Ruby代码都将被求值,并被替换为求值结果插入到原位置 2.单引号与双引号差别: 双引号允许字符转义,单引号不允许转义,里是什么字符,用户看到的就是什么字符 单引号不允许字符插值 字符串拆分 1.以空格拆分:string.split(' ')字符串连接 方法一.'Ruby' + 'Monk', stdout: RubyMonk 方法二."Monk".concat("Ruby") stdout: Mon
-
Ruby中常用的字符串处理函数使用实例
1.返回字符串的长度 复制代码 代码如下: str.length => integer 2.判断字符串中是否包含另一个串 复制代码 代码如下: str.include? other_str => true or false "hello".include? "lo" #=> true "hello".include? "ol" #=> false "hello".includ
-
Ruby简洁学习笔记(一):字符串、数字、类和对象
为了证明Ruby真的好用,hello world也能写的如此简洁: 复制代码 代码如下: puts 'hello world' 1.输入/输出 复制代码 代码如下: print('Enter your name') name=gets() puts("Hello #{name}") 注:Ruby是区分大小写的 2.String类 puts("Hello #{name}")中的变量 name是内嵌在整个String里的,通过 #{ } 包裹进行内嵌求值,并用双引号&q
随机推荐
- JavaScript 异步调用
- Windows 下的 PHP-PEAR 安装方法
- 详解JDK 5 Annotation 注解之@Target的用法介绍
- springmvc+mybatis 做分页sql 语句实例代码
- 用ADODB.Stream转换
- 你的编程语言可以这样做吗?
- 如何使用JSP连接DB2数据库
- VB倒计时器和JS当前时间
- 基于JavaScript实现微信抢红包功能
- 阿里云Centos配置iptables防火墙教程
- SpringMVC4+MyBatis+SQL Server2014实现数据库读写分离
- 另类弹出窗口,跳过所有拦截工具
- input file的默认value清空与赋值方法
- 详解Android App中ViewPager使用PagerAdapter的方法
- Java俄罗斯方块小游戏
- 在php中取得image按钮传递的name值
- 探讨C语言的那些小秘密之断言
- 网管成长历程——IP地址规划之分配篇2
- Cisco路由器的安全配置简易方案
- 端口基础知识