从字符串中删除最后n个字符的首选方法是什么?
当前回答
name = "my text"
x.times do name.chop! end
在控制台:
>name = "Nabucodonosor"
=> "Nabucodonosor"
> 7.times do name.chop! end
=> 7
> name
=> "Nabuco"
其他回答
x = "my_test"
last_char = x.split('').last
irb> 'now is the time'[0...-4]
=> "now is the "
我建议你切。我认为其中一条评论中提到了它,但没有链接或解释,所以我认为它更好的原因如下:
它只是从字符串中删除最后一个字符,您不必为此指定任何值。
如果你需要删除一个以上的字符,那么chomp是你最好的选择。这是ruby文档对chop的看法:
返回一个删除了最后一个字符的新字符串。如果字符串 以\r\n结尾,两个字符都被删除。应用chop到空 String返回空字符串。String#chomp通常更安全 可选项,因为如果字符串不以。结尾,则保持字符串不变 记录分隔符。
虽然这主要用于删除分隔符,如\r\n,但我已经使用它来删除一个简单字符串的最后一个字符,例如s使单词成为单数。
name = "my text"
x.times do name.chop! end
在控制台:
>name = "Nabucodonosor"
=> "Nabucodonosor"
> 7.times do name.chop! end
=> 7
> name
=> "Nabuco"
你可以用
"string".sub!(/.{X}$/,'')
其中X是要删除的字符数。
或者赋值/使用结果:
myvar = "string"[0..-X]
其中X是要删除的字符数加1。
推荐文章
- 是否可以在MiniTest中运行单个测试?
- 如何在Ruby中生成a和b之间的随机数?
- 不区分大小写的“in”
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 如何在PHP中截断字符串最接近于一定数量的字符?
- 无法安装gem -未能建立gem本地扩展-无法加载这样的文件——mkmf (LoadError)
- 如何在Ruby中创建文件
- 什么是Ruby文件。开放模式和选项?
- Ruby数组到字符串的转换
- 如何分割(块)一个Ruby数组成X元素的部分?
- Ruby中“or”和||的区别?
- 为什么在Java和。net中不能修改字符串?
- 如何创建一个日期对象从字符串在javascript
- 如何测试参数是否存在在轨道
- 在Android上将字符串转换为整数