Ruby 在每次出现特定字符时拆分字符串?
我希望将一个字符序列作为字符串传递到函数中,并将其返回给我,该字符串拆分为以下字符:Ruby 在每次出现特定字符时拆分字符串?,ruby,regex,string,Ruby,Regex,String,我希望将一个字符序列作为字符串传递到函数中,并将其返回给我,该字符串拆分为以下字符: @ # $ % ^ & * 这样,如果字符串 'hey#man^you*are#awesome' 程序返回 “嘿,伙计,你真棒” 我该怎么做?要拆分字符串,可以使用string\split 'hey#man^you*are#awesome'.split(/[@#$%^&*]/) #=> ["hey", "man", "you", "are", "awesome"] 要将其重新组合在一
@ # $ % ^ & *
这样,如果字符串
'hey#man^you*are#awesome'
程序返回
“嘿,伙计,你真棒”
我该怎么做?要拆分字符串,可以使用
string\split
'hey#man^you*are#awesome'.split(/[@#$%^&*]/)
#=> ["hey", "man", "you", "are", "awesome"]
要将其重新组合在一起,可以使用Array#join
'hey#man^you*are#awesome'.split(/[@#$%^&*]/).join(' ')
#=> "hey man you are awesome"
split
和join
应该是不言自明的。有趣的部分是正则表达式/[@$%^&*]/
,它匹配字符类[…]
中的任何字符。上述代码本质上等同于
'hey#man^you*are#awesome'.gsub(/[@#$%^&*]/, ' ')
#=> "hey man you are awesome"
其中,
gsub
表示“用空格全局替换出现的任何@$%^&*”要拆分字符串,可以使用string\split
'hey#man^you*are#awesome'.split(/[@#$%^&*]/)
#=> ["hey", "man", "you", "are", "awesome"]
要将其重新组合在一起,可以使用Array#join
'hey#man^you*are#awesome'.split(/[@#$%^&*]/).join(' ')
#=> "hey man you are awesome"
split
和join
应该是不言自明的。有趣的部分是正则表达式/[@$%^&*]/
,它匹配字符类[…]
中的任何字符。上述代码本质上等同于
'hey#man^you*are#awesome'.gsub(/[@#$%^&*]/, ' ')
#=> "hey man you are awesome"
其中,
gsub
表示“用空格全局替换出现的任何@$%^&*”要拆分字符串,可以使用string\split
'hey#man^you*are#awesome'.split(/[@#$%^&*]/)
#=> ["hey", "man", "you", "are", "awesome"]
要将其重新组合在一起,可以使用Array#join
'hey#man^you*are#awesome'.split(/[@#$%^&*]/).join(' ')
#=> "hey man you are awesome"
split
和join
应该是不言自明的。有趣的部分是正则表达式/[@$%^&*]/
,它匹配字符类[…]
中的任何字符。上述代码本质上等同于
'hey#man^you*are#awesome'.gsub(/[@#$%^&*]/, ' ')
#=> "hey man you are awesome"
其中,
gsub
表示“用空格全局替换出现的任何@$%^&*”要拆分字符串,可以使用string\split
'hey#man^you*are#awesome'.split(/[@#$%^&*]/)
#=> ["hey", "man", "you", "are", "awesome"]
要将其重新组合在一起,可以使用Array#join
'hey#man^you*are#awesome'.split(/[@#$%^&*]/).join(' ')
#=> "hey man you are awesome"
split
和join
应该是不言自明的。有趣的部分是正则表达式/[@$%^&*]/
,它匹配字符类[…]
中的任何字符。上述代码本质上等同于
'hey#man^you*are#awesome'.gsub(/[@#$%^&*]/, ' ')
#=> "hey man you are awesome"
其中,gsub
表示“用空格全局替换出现的@$%^&*”也可以使用,这样就避免了将数组转换回字符串的需要:
'hey#man^you*are#awesome'.tr('@#$%^&*', ' ')
#=> "hey man you are awesome"
您还可以使用,这样就无需将数组转换回字符串:
'hey#man^you*are#awesome'.tr('@#$%^&*', ' ')
#=> "hey man you are awesome"
您还可以使用,这样就无需将数组转换回字符串:
'hey#man^you*are#awesome'.tr('@#$%^&*', ' ')
#=> "hey man you are awesome"
您还可以使用,这样就无需将数组转换回字符串:
'hey#man^you*are#awesome'.tr('@#$%^&*', ' ')
#=> "hey man you are awesome"
要拆分还是替换为空格?要拆分还是替换为空格?要拆分还是替换为空格?要拆分还是替换为空格?要拆分还是替换为空格?解释得很好,p11y+1您提到了
split/join
和gsub
作为选项,但似乎更倾向于前者。我认为gsub
更可取,因为它直接作用于字符串,而不是转换为数组然后返回字符串。我个人认为,gsub
读起来也更好。你是怎么想的?很好的解释,p11y+1您提到了split/join
和gsub
作为选项,但似乎更倾向于前者。我认为gsub
更可取,因为它直接作用于字符串,而不是转换为数组然后返回字符串。我个人认为,gsub
读起来也更好。你是怎么想的?很好的解释,p11y+1您提到了split/join
和gsub
作为选项,但似乎更倾向于前者。我认为gsub
更可取,因为它直接作用于字符串,而不是转换为数组然后返回字符串。我个人认为,gsub
读起来也更好。你是怎么想的?很好的解释,p11y+1您提到了split/join
和gsub
作为选项,但似乎更倾向于前者。我认为gsub
更可取,因为它直接作用于字符串,而不是转换为数组然后返回字符串。我个人认为,gsub
读起来也更好。你对此有何想法?