TeamsにAPIで投稿するときに文字列内のバッククオート('`')がMarkdownで処理され見た目がおかしくなったため、バックスラッシュ('')を前に置いてエスケープしようとしたらうまくいかなかった。
example.rb
s = 'abc`123`xyz' # 'abc\`123\`xyz' にしたいのに
puts s.gsub(/`/, '\`') # => abcabc123abc`123xyz
なぜこんなことに・・・、と思ったら'\`'は置換文字列内でマッチした部分文字列として使われるらしい。
バックスラッシュを増やしたらうまくいった
example.rb
s = 'abc`123`xyz'
puts s.gsub(/`/, '\\\`') # => abc\`123\`xyz
それにしても、Markdown無効で投稿できる機能が欲しい。。。