-1
A
回答
2
1
sin = 'string'
sout = sin[0] + sin[2..-1]
5
最简单的方法是
str[1] = '' #1.9.3
或
str[1,1] = '' #1.8.7
我不知道它是否会在JRuby的工作,因为它有不同的操纵方式。如果它不起作用,使用@Finbarr的方法,它应该工作。
3
除了问题如何它可能很重要,现在哪个是最快的方法。
我做了一个与其他答案和切片解决方案的基准!和sub!
。
require 'benchmark'
N = 100_000 #Number of Test loop
STR = ''
REGEXP = /\A(.)./
Benchmark.bmbm(10) {|b|
b.report('str[0].chr+str[2..-1]') { N.times {
str = STR.dup
str = str[0].chr+str[2..-1]
}}
b.report('str[1]') { N.times {
str = STR.dup
str[1] = ''
}}
b.report('slice!') { N.times {
str = STR.dup
str.slice!(1)
}}
b.report('sub!') { N.times {
str = STR.dup
str.sub!(/\A(.)./, '\1')
}}
b.report('sub!/REGEXP') { N.times {
str = STR.dup
str.sub!(REGEXP, '\1') #Avoid reinitialization of regex for each loop
}}
} #Benchmark
我的结果(窗口,红宝石1.9.3)
Rehearsal ---------------------------------------------------------
str[0].chr+str[2..-1] 0.203000 0.000000 0.203000 ( 0.171875)
str[1] 0.094000 0.000000 0.094000 ( 0.109375)
slice! 0.094000 0.000000 0.094000 ( 0.125000)
sub! 0.250000 0.016000 0.266000 ( 0.265625)
sub!/REGEXP 0.265000 0.016000 0.281000 ( 0.234375)
------------------------------------------------ total: 0.938000sec
user system total real
str[0].chr+str[2..-1] 0.188000 0.000000 0.188000 ( 0.171875)
str[1] 0.125000 0.000000 0.125000 ( 0.109375)
slice! 0.172000 0.000000 0.172000 ( 0.125000)
sub! 0.218000 0.015000 0.233000 ( 0.265625)
sub!/REGEXP 0.282000 0.000000 0.282000 ( 0.250000)
+0
赢的基准! –
相关问题
- 1. 从第二个字符串中删除第一个字符串中所有字符的最有效方法?
- 2. Python:从第一个数字字符中删除字符串
- 3. 删除字符串的第二个字符
- 4. 从字符串中删除N个第一个字符
- 5. Java:如何从字符串中删除第三个字?
- 6. 如何从字符串中删除第一个字c
- 7. 如何从字符串中删除动态字符字符串?
- 8. 如何删除PHP中的字符串的第一个字符?
- 9. 从字符串删除第一个字符,如果0
- 10. 涡轮pascal从字符串中删除第二个空格
- 11. 如何从字符串中删除多个子字符串?
- 12. 从字符串中删除第一个字符
- 13. 从八度字符串中删除第一个字符
- 14. 从字符串中删除第一个字符
- 15. 从字符串中删除字符串
- 16. 从字符串中删除字符串
- 17. 如何从字符串中删除第一个和最后一个字符
- 18. 从字符串中删除第一行
- 19. 如何删除字符串之前第二个“:”在记事本++
- 20. 我如何删除字符串的第一个字符[python]
- 21. 如何删除字符串的第一个字符?
- 22. VBA从字符串中删除HTML标记仅删除第一个字符
- 23. 从字符串中的某个字符中删除字符
- 24. 从字符串删除第n个字符
- 25. 从第一个字符串中删除第二个字符串的所有实例
- 26. 如何从某个位置的字符串中删除字符?
- 27. 如何从字符串[python]中删除一个字符?
- 28. 如何从字符串中删除最后的n个字符?
- 29. 如何从字符串中删除一个字符?
- 30. 如何从字符串数组中删除任何字符串?
我不想投了,因为我不想成为平均值,但你别想了吗?还是你读过任何书或文档? – texasbruce
''string'[0 ..- 1]'不会删除该字符。它将所有字符返回到字符串的末尾。 ''string'[0 ..- 1] =>“string”' –