`String#gsub` 在第一场比赛中

`String#gsub` on first match

我有一个字符串如下:

string = "request=hxxp://abc.com/user=username?pass=password"

我需要将等号 "=" 的第一个实例替换为 "***"。我希望达到:

string = "request***hxxp://abc.com/user=username?pass=password"

我测试了以下内容,但没有成功:

string = string.gsub(/^[^=]+(=)/,'***') # => "***hxxp://..."
string = string.gsub(/((?<=())=)/,'***') # => all "=" replaced with "***"

如有任何帮助,我们将不胜感激。

使用子。这应该仅替换第一次出现的 =

string.sub(/=/, "***")

对于gsub,必须是

string.gsub(/^([^=]*)=/,'***')