我正在做一些字符串操作,而且我在正则表达式上非常糟糕。我有一些字符串:
/sonata-economy-analog-watch-men/p/itmda5wagvmtttwr
我想用空格替换最后一个正斜杠之前的所有内容,只得到“itmda5wagvmtttwr”。有谁知道如何用正则表达式做到这一点?
更新 - 其实我是用xml做的。
let $url :=data($item//a[@class="fk-anchor-link"]/@href)
let $temp :=fn:substring-before($url, "?")
let $temp2 :=fn:replace()
在url中我会得到字符串
/titan-htse-analog-watch-men/p/itmd9gjfprgdt8d8?pid=WATD9H76AMCWDYT5&ref=28b766fc-2692-4ba3-a4cb-ea8a060cc9ec
使用fn:substring-before($ url,“?”)我之前已经采取了一切措施?而且我正在接受,
/titan-htse-analog-watch-men/p/itmd9gjfprgdt8d8
现在我要在最后一个“/”之前替换所有内容,并在temp2中只获取“itmd9gjfprgdt8d8”
答案 0 :(得分:1)
您可以搜索
[^/]*$
,它为您提供与字符串末尾相邻的所有非斜杠字符。
答案 1 :(得分:0)
您可以使用-after
- 相当于fn_substring-before
:http://www.xqueryfunctions.com/xq/functx_substring-after-last.html
let $temp :=fn:substring-after-last(fn:substring-before($url, "?"), "/")
不需要正则表达式:)