gpt4 book ai didi

Ruby - 用符号替换字符串中的字符

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:25 24 4
gpt4 key购买 nike

我正在尝试接收一串字符并将除空格之外的所有字符更改为“*”。这是我所在的位置:

def change_word(word)
new_word.each {|replace| replace.gsub!(/./, "*") }
new_word.to_s
new_word.join
end

我要说一句话,将单个字符添加到一个数组并将其分配给一个新变量,用所需的符号替换所述数组中的所有内容,将数组中的所有内容更改为字符串,然后连接数组中的所有内容输出一堆 *。

我想做的(解决方案不必遵循前面的语法)是获取所有字母并将它们替换为 *。空格应该保留为空格,只有字母应该变成*。

最佳答案

关于gsub(/\S/, '*')

它将找到所有非空白字符并将它们中的每一个替换为 *\Sregex character class匹配非空白字符(感谢@jdno)。

例如

 pry> "as12 43-".gsub(/\S/, '*')
=> "**** ***"

所以在你的情况下:

def change_word(word)
word.gsub(/\S/, '*')
end

您也可以在方法之外提取正则表达式以对其进行一些优化:

CHANGE_WORD_PATTERN = /\S/
def change_word(word)
word.gsub(CHANGE_WORD_PATTERN, '*')
end

关于Ruby - 用符号替换字符串中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53833265/

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