gpt4 book ai didi

ruby - 替换字符但不是最后一个

转载 作者:太空宇宙 更新时间:2023-11-03 18:11:11 26 4
gpt4 key购买 nike

我有一个像这样的字符串:

str = 'TEST;NAME=1;TARGET_SOMETHING;PLATFORM_INTEL;'

现在我想用 "-D" 替换所有 ";" 并删除最后一个 ";"

我用的是:

str.gsub(/;/, ' -D').gsub(/^/, ' -D')

第二个 gsub 只是将 -D 也添加到行的开头

结果:

-DTEST -DNAME=1 -DTARGET_SOMETHING -DPLATFORM_INTEL -D

如何告诉 Ruby 不要输出最后一个 "-D" 或删除 str 中的最后一个 ";"

在同一行中有什么建议吗?

最佳答案

您可以为此组合使用 splitmap

irb(main):012:0> str.split(";").map {|i| "-D#{i}"}.join(" ")
=> "-DTEST -DNAME=1 -DTARGET_SOMETHING -DPLATFORM_INTEL"

关于ruby - 替换字符但不是最后一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33955298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com