替换 URL 中最后一个斜杠后的所有内容

Posted

技术标签:

【中文标题】替换 URL 中最后一个斜杠后的所有内容【英文标题】:Replace everything after last slash in URL 【发布时间】:2014-06-06 16:16:44 【问题描述】:

我想使用正则表达式在打开的办公室电子表格中进行搜索/替换。

我需要在最后一个正斜杠之后的 url 列表中插入一个身份验证组件。

我尝试了[/]$(\/)$,但没有成功。

示例输入:https://testdomain.com/dir1/file.pdf

所需输出:https://testdomain.com/dir1/authcode123file.pdf

【问题讨论】:

字符串中的最后一个//(?=[^/]*$) 尝试自己编写一些东西,如果不起作用,请具体向我们展示您所做的事情,以便我们为您提供帮助。 您启动它,然后我们提供帮助。我们不是为您编写的。 向我们展示您尝试过的实际代码,然后描述发生的情况和不正确的地方,然后我们可以从那里帮助您。如果您先自己尝试一下,您可能会非常接近答案。 ... 或者花一秒钟搜索interwebz:one,two,three。 我无法让它工作。我什至去了 regex101.com,但它没有用。非常感谢您的帮助。 很公平,我明白。我尝试 \/$ 从字符串的末尾开始搜索,但没有奏效。我已经搜索了网络和 ***,但没有运气 【参考方案1】:

试试这个:

搜索(.*/)(.*)$

替换为::$1authcode123$2

解释:

 (.*)       -  Anything inside two parens "()" is called a capture
               group.  The text that matches the pattern inside the
               first set of parens is stored in "capture group 1".
               You can use $1 to refer to this capture group when
               you do your replace.  Likewise $2 will refer to the
               second capture group.

  .         -  A period represents ANY CHARACTER.

  .*        -  The asterisk "*" means "zero of more of the precedding
               pattern."  So .* would mean "zero or more occurrences
               of ANY CHARACTER." 

 (.*/)    -  zero or more characters followed by a slash 
              (the results of this capture are stored in $1)

 (.*)$    -  zero or more chars followed by the end of the string 
              (the results of this capture are stored in $2)

但是,您还没有分享您要求的所有细节,所以我不知道这个答案是否完整。

例如,你会为一个没有斜杠的 url 做什么?

【讨论】:

我不确定这是如何工作的,但这正是我所需要的。奇迹般有效。所有记录都将包含用斜杠提到的确切格式,所以这很棒。不能感谢你。但是,如果您能解释您的解决方案,那将是一个救命稻草,我已经花费了您更多的时间。上帝祝福你!如果可以的话,我会帮助别人,并传播你的帮助。 我试图解释截图上方的正则表达式。我会努力改进的。 我会在 regex101.com 中输入这个正则表达式,看看它是如何工作的。 @user2657339 - 我更新了我的解释,包括一些关于捕获组和一些特殊字符的信息。我还编辑了您的问题以添加 openoffice-calc 标签,这是吸引专家查看您的问题的好方法。 非常、非常、很好且有用的解释。非常感谢。谢谢!【参考方案2】:

我不确定你的程序,但是这样的事情怎么样:

【讨论】:

这与我需要的非常接近,实际上也找到了最后一个斜杠和 dir1。不幸的是,我只需要识别、选择最后一个斜线,然后我将从那里输入需要的内容。它可以完成工作,但不能在开放式办公室应用程序中完成。事实证明这比我想象的要艰难。

以上是关于替换 URL 中最后一个斜杠后的所有内容的主要内容,如果未能解决你的问题,请参考以下文章

php URL - 用斜杠替换问号和参数

Codeigniter重写URL用斜杠替换问号

谷歌云函数替换 url 中的双斜杠

shell脚本如何把反斜杠替换成斜杠反斜杠,比如2014\/5\/10变成2014/5/10,急用谢谢!

Masonry jquery 为啥js字符串中的斜杠被自动替换掉了

用同一行开头的匹配替换一行上的所有斜杠