我有一个通过在循环中使用<<
运算符准备的巨大字符串。最后,我想删除最后2个字符。
some_loop
str << something
end
str = str[0..-3]
我认为上面的最后一个操作也会消耗内存和时间,但我不确定。我只是想看看是否有一种与 <<
相反效果的操作,以便我可以从同一个字符串中删除那两个字符。
str = str[0..-3]
您是否正在使用分隔符连接某些数组元素?类似于这样的操作:
names = ['Mary', 'John', 'Dave']
res = ''
names.each do |n|
res << n << ', '
end
res # => 'Mary, John, Dave, '
names.join(', ') # => 'Mary, John, Dave'
,
连接一些数组元素。但是,我知道我应该自己进行一些基准测试,但仍然想听听关于在数据字符串太多和太大时调用join可能有多糟糕的快速评论。 - Amol PujariString.chomp
(或String#chomp!
如果您想修改字符串)。2.times{ string.chop! }
或者
string.chop!
string.chop!
chomp
并使用 chop
给出示例? - sawachomp
用于去除 CR/LF。chop
的示例在 'else' 部分(它会删除最后一个字符)。 - knut