感嘆符付きの文字列があります。私は単語の前の感嘆符ではなく、単語の終わりの感嘆符を削除したい。感嘆符はそれ自身ではなく、単語を伴わないと仮定する。私が言いたいのは、[a..z]を意味し、大文字にすることができます。例えばRubyで部分文字列の後に特定の文字を削除するには
:私は読んだことがある
exclamation("Hello world!!!")
#=> ("Hello world")
exclamation("!!Hello !world!")
#=> ("!!Hello !world")
How do I remove substring after a certain character in a string using Ruby?。これら2つは近いが異なる。
def exclamation(s)
s.slice(0..(s.index(/\w/)))
end
# exclamation("Hola!") returns "Hol"
私もs.gsub(/\w!+/, '')
を試しました。単語の前に'!'
を保持していますが、と末尾の文字と感嘆符の両方がです。 exclamation("!Hola!!") #=> "!Hol"
。
最後に感嘆符のみを削除するにはどうすればよいですか?