我有不同的网址字符串
/kampane/luxury-shoes/damska-obuv-v11574-negro-38-cerna
/pl-accesoriu-gopro-caps-doors-uni/
/crossbody-kabelka-clutch-eclipce-negro-51x50p7-2000.html
http://www.rozbaleno.cz/chladnick…/mraznicka-guzzanti-gz-40f
等
我需要在最后一个斜杠之后对它进行子串,但是,如果在最后一个斜杠之后是空的空间,我需要在它之前取部分。此外,我需要删除点之后的所有内容,如果点位于我需要的子字符串之后。 所以我对上面这些字符串进行子串的结果是:
damska-obuv-v11574-negro-38-cerna
pl-accesoriu-gopro-caps-doors-uni
crossbody-kabelka-clutch-eclipce-negro-51x50p7-2000
mraznicka-guzzanti-gz-40f
我无法编写代码而不会丢失任何数据。请帮忙。
答案 0 :(得分:0)
一种方法是使用正则表达式和子串。但是,这可能就足够了:
select (case when url like '%/'
then reverse(split_part(reverse(url), '/', 2))
else reverse(split_part(reverse(url), '/', 1))
end)
答案 1 :(得分:0)
我不想是无礼的,我真的很感谢你的帮助,谢谢!但我写道,我有一个字符串/crossbody-kabelka-clutch-eclipce-negro-51x50p7-2000.html,我需要删除点后的所有内容。这不是这个结果的作用。但我可能找到了解决方案:
右边(pagepath,1)='/'然后regexp_replace(regexp_substr(左(pagepath,LEN(页面路径)-1),'[^ /] + $'),'。html(。 )| \?(。)')else regexp_replace(regexp_substr(pagepath,'[^ /] + $'),'。html(。)| \?( 。)')结束