删除最后x个字符,直到特定字符

时间:2015-02-12 14:46:29

标签: google-bigquery

我收到了这个字符串 / uk-en / contact-us / often-questions-questions / your-trip / there-wi-fi-access-in-the-eurostar-terminal-and-board-your -trains ,我只需要获取URL的最后一部分(直到最后一个/)。 然后我想用空格替换' - '。字符串的字符数不同。

我该怎么办?

谢谢!

2 个答案:

答案 0 :(得分:2)

使用BigQuery函数的解决方案:

select regexp_replace(last(split(x, "/")), "-", " ") from
(select 
  "/uk-en/contact-us/frequently-asked-questions/your-trip/there-wi-fi-access-in-the-eurostar-terminals-and-board-your-trains"
  as x)

答案 1 :(得分:0)

以下是我在SQL Server中尝试的内容

 DECLARE @s VARCHAR(max)= '/uk-en/contact-us/frequently-asked-questions/your-trip/there-wi-fi-access-in-the-eurostar-terminals-and-board-your-trains'

 SELECT REVERSE(SUBSTRING(REVERSE(@s),CHARINDEX('/',REVERSE(@s)),LEN(REVERSE(@s))))+REVERSE(REPLACE(SUBSTRING(REVERSE(@s),1,CHARINDEX('/',REVERSE(@s))-1),'-',' '))

很抱歉这是针对SQL Server的

您是否尝试在大查询中使用拆分

SPLIT(' str' [,' delimiter'])返回一组子字符串作为重复字符串。如果指定了分隔符,则SPLIT函数使用分隔符作为分隔符将str分解为子字符串。