在Ruby中用AND替换空格

4
我有一个人正在填写一个带有字符串输入的表单。我需要做的是将字符串中的任何空格替换为“AND”(不加引号)。最好的方法是什么?
另外,如果我想要删除字符串中的所有空格,我该怎么做?
谢谢
3个回答

12

用 "替换为" 替换 "和":

s = 'this has   some     whitespace'
s.gsub! /\s+/, ' AND '

=> "this AND has AND some AND whitespace"

完全删除:

s = 'this has   some     whitespace'
s.gsub! /\s+/, ''

=> "thishassomewhitespace"

你该如何检查字符串中是否已经包含空格? - Splashlin

4

分割和合并是另一种技术:

s = "   a   b   c   "
s.split(' ').join(' AND ')
# => "a AND b AND c"

这种方法有一个优点,它可以忽略Peter的正则表达式无法忽略的前导和尾随空格:
s = "   a   b   c   "
s.gsub /\s+/, ' AND '
# => " AND a AND b AND c AND "

移除空白

s.split(' ').join('')
# or
s.delete(' ')  # only deletes space chars

1
使用gsub方法替换空格。
 s = "ajeet soni"

 => "ajeet soni" 

 s.gsub(" "," AND ")

 => "ajeet AND soni" 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接