Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
文字列内のすべての「%」を「%%」に置き換えたい。ただし、私の文字列には「%{abc}」も含まれている可能性があり、これは置き換えるべきではありません。
入力: 私の名前は %{name} で、% スコアは %{percentage} %! 出力: 私の名前は %{name} で、私の %% スコアは %{percentage} %%!
入力: 私の名前は %{name} で、% スコアは %{percentage} %!
出力: 私の名前は %{name} で、私の %% スコアは %{percentage} %%!
この正規表現を使用して、%成功しなかったすべてに一致させることができます{
%
{
s.gsub(/%(?!\{)/, '%%')
編集
%%(to )の置換を防ぐには%%%%:
%%
%%%%
s.gsub(/(?<!%)%(?![{%])/, '%%')
%%%他の動作が予想される場合に備えて、これにより の置換が防止されることに注意してください。
%%%
クレジットは、gsub の @MichaelKohl に送られます。完全なソリューションのための@ZainZafar(OP)。