使用Ruby,我如何获取字符串并在单词之间插入管道?

Shp*_*ord 1 ruby string

假设我有这个字符串:

"生日蛋糕是我最喜欢的"

我需要将其转换为:

"生日|蛋糕|是|我|最喜欢的"

我如何用Ruby做到这一点?

Dan*_*man 7

总是很高兴能够回答不使用正则表达式:-)

your_string.split(" ").join("|") 
Run Code Online (Sandbox Code Playgroud)

应该这样做.

  • 如果要删除所有非单词字符,请使用split(/ [^\w] + /).join("|")."生日蛋糕:我最喜欢的".split(/ [^\w] + /).join("|")#=>"生日|蛋糕|我的|最喜欢的"编辑:哈,刚刚看到你关于不使用的评论正则表达式.让我的评论有点讽刺. (3认同)

Tre*_*vor 7

"birthday cake is my favorite".gsub(" ", "|")
Run Code Online (Sandbox Code Playgroud)


Jör*_*tag 5

恰恰是什么String#tr(和String#tr_s)为:

# Look, Ma! No Regexp!
'birthday cake is my     favorite'.tr_s(' ', '|')
# => "birthday|cake|is|my|favorite"
Run Code Online (Sandbox Code Playgroud)

我承认,方法名称不是最直观的.(除非你是Mac OSX,Unix,Linux,Cygwin或MinGW用户,当然,在这种情况下tr,tr -s它将成为你日常武器库的一部分.)