我想反转字符串中的所有单词,使得
- 单词的顺序不应该改变
- 单词中的空格数应保持不变
例如:-当我的字符串是“你好吗”时,它应该返回“woH erA uoY”
我尝试如下
def reverse_string(str)
arr = str.split(" ")
new_arr = arr.collect{|a| a.reverse}
new_arr.join(" ")
end
但它不适用于单词之间可能有多个空格的字符串。
我想反转字符串中的所有单词,使得
例如:-当我的字符串是“你好吗”时,它应该返回“woH erA uoY”
我尝试如下
def reverse_string(str)
arr = str.split(" ")
new_arr = arr.collect{|a| a.reverse}
new_arr.join(" ")
end
但它不适用于单词之间可能有多个空格的字符串。
s = "How Are You"
s.gsub(/\w+/) { |match| match.reverse }
这是最短的,也可能是最快的。字符串是正则表达式,所有连续的单词字符按顺序颠倒
s = "How Are You"
s.gsub(/\w+/,&:reverse)
=>woH erA uoY
这行得通。使用正则表达式拆分 任何单词边界字符
def reverse_string str
arr = str.split /\b/
new_arr = arr.collect {|a| a.reverse}
new_arr.join
end