如何从 Ruby 中特定索引处的字符串中删除字符

Huy*_*ran 4 ruby string

我有一些这样的字符串:

  • 'Set{[5, 6, 9]}'
  • 'Set{[8, 4, "a", "[", 1]}'
  • 'Set{[4, 8, "]", "%"]}'

我想从这些字符串中删除索引 4 和 -2 处的方括号,这样我就有:

  • 'Set{5, 6, 9}'
  • 'Set{8, 4, "a", "[", 1}'
  • 'Set{4, 8, "]", "%"}'

我怎样才能做到这一点?

mov*_*son 5

我想你想要这个:

>> string = 'Set{[8, 4, "a", 6, 1]}'
=> "Set{[8, 4, \"a\", 6, 1]}"
>> string.gsub('{[', '{').gsub(']}', '}')
=> "Set{8, 4, \"a\", 6, 1}"
Run Code Online (Sandbox Code Playgroud)

如果存在任何危险,您可能会在字符串中间看到“{[”或“]}”模式并希望将其保留在那里,并且您确定相对于字符串开头和结尾的位置每次,你都可以这样做:

>> string = 'Set{[8, 4, "a", 6, 1]}'
>> chars = string.chars
>> chars.delete_at(4)
>> chars.delete_at(-2)
>> chars.join
=> "Set{8, 4, \"a\", 6, 1}"
Run Code Online (Sandbox Code Playgroud)