【发布时间】:2021-01-03 03:57:54
【问题描述】:
正在处理代码战挑战,以从字符串中删除除结尾之外的所有感叹号。到目前为止,我已经使用了一些正则表达式,幸运的是我没有收到任何错误消息,所以它至少将我的代码识别为有效的表达式。
def remove(s)
s.gsub(/\s+/, "!")
end
能否请我就如何编写此正则表达式来删除“!”提供一些意见?从字符串中的其他任何地方,但最后?如果我也可以得到一个没有正则表达式的方法,那将是非常棒的,因为正则表达式可能有点令人困惑。
作为参考,测试应该是这样的:
Test.describe("Basic tests") do
Test.assert_equals(remove("Hi!"),"Hi!")
Test.assert_equals(remove("Hi!!!"),"Hi!!!")
Test.assert_equals(remove("!Hi"),"Hi")
Test.assert_equals(remove("!Hi!"),"Hi!")
Test.assert_equals(remove("Hi! Hi!"),"Hi Hi!")
Test.assert_equals(remove("Hi"),"Hi")
end
【问题讨论】: