我有一个看起来像这样的字符串:
["7zip", "SysInternals", "Office", "PDF-Creator", ""]
我想将其更改为如下所示:
http://www.domain.com/7zip,office,pdf-creator
你知道我该怎么办?
答案 0 :(得分:2)
这不是一个字符串,它是一个Array对象(字符串)。
点击.join(',')
。
["7zip", "SysInternals", "Office", "PDF-Creator", ""].join(',')
如果你想摆脱空字符串所以你没有额外的逗号,
["7zip", "SysInternals", "Office", "PDF-Creator", ""].reject{ |c| c.empty? }.join(',')
根据您的问题,看起来您正在放弃" SysInternals"由于某些原因。如果那是故意的,那么你也需要拒绝那个;
["7zip", "SysInternals", "Office", "PDF-Creator", ""].reject{ |c| c.empty? || c == "SysInternals" }.join(',')
如果您有更通用的方法来选择或拒绝阵列中的某些项目,最好使用它。您还可以创建一种方法来清理它。
def reject_item?( item )
item.empty? || item == "SysInternals"
end
["7zip", "SysInternals", "Office", "PDF-Creator", ""].reject{ |c| reject_item?(c) }.join(',')
最后,如果你想要贬低价值观,你就需要这样做!
["7zip", "SysInternals", "Office", "PDF-Creator", ""].reject{ |c| reject_item?(c) }.collect{ |c| c.downcase }.join(',')