如何从字符串中删除第一个和最后一个破折号?

bdb*_*ger -1 ruby regex

假设我有一个字符串:

my_string = "-5-24-3-488-7--4-3-"
Run Code Online (Sandbox Code Playgroud)

如何删除这两个第一和最后的冲刺?我希望结果如下所示:

my_string = "5-24-3-488-7--4-3"
Run Code Online (Sandbox Code Playgroud)

我考虑过使用gsub,或正则表达式,但我可能使解决方案过于复杂。我还是想不通。请帮忙。

Sim*_*ine 5

正则表达式^-|-$匹配开头的连字符或结尾的连字符。

在红宝石中:

"-5-24-3-488-7--4-3-".gsub(/^-|-$/, '')
Run Code Online (Sandbox Code Playgroud)

如果你想就地修改字符串,

my_string.gsub!(/^-|-$/, '')
Run Code Online (Sandbox Code Playgroud)


saw*_*awa 5

你可以这样做:

my_string.delete_prefix("-").delete_suffix("-")
# => "5-24-3-488-7--4-3"
Run Code Online (Sandbox Code Playgroud)