【发布时间】:2014-05-26 00:53:27
【问题描述】:
如果有人可以提供一些帮助,请在这里寻求帮助。我正在使用 oracle 数据库,我想修剪一个字符串直到某个字符'/'。这些字段是 URL 的路径,它们的大小都不同,所以我需要确保它到达 URL 中的最后一个“/”并删除直到该点的所有内容。此外,还有一个与其中一些 URL 相关联的会话 ID,它位于字符串的末尾,并且在开始之前有一个分号,所以我想删除所有包含分号的内容,直到分号等。所以基本上我想从 URL 的开头和 URL 的末尾删除内容(如果适用)。这些 URL(字符串)的示例如下:
Current URLS
/ingaccess/jsp/mslogon.jsp
/ingaccess/help/helpie_term_cash_surrender_value.html
/eportal/logout.do;jsessionid=xr8co1kyebrve47xsjwmzw--.p704
/eportal/logout.do;jsessionid=gdh_e_e1m1hna0z9ednklg--.p705
/ingaccess/help/helpie_term_northern_unit_value.html
/ingaccess/help/helpie_scheduled_rebalance.html
/eportal/home.action;jsessionid=9vhfbkhunkvtcm5g1dtgsa--.p704
/ingaccess/help/helpie_catch_up_50.html
/ingaccess/piechartmaker
/ingaccess/help/helpie_term_fund_balance.html
Desired URLS
mslogon.jsp
helpie_term_cash_surrender_value.html
logout.do
logout.do
helpie_term_northern_unit_value.html
helpie_scheduled_rebalance.html
home.action
helpie_catch_up_50.html
piechartmaker
helpie_term_fund_balance.html
有人知道这里有一个简单的解决方法吗?我尝试过使用 SUBSTR 和 REPLACE,但似乎无法让它们工作。
提前致谢,
瑞恩
【问题讨论】:
-
@LukeWoodward 非常感谢,我一直在寻找,但没有碰巧看到那个。果然,它就像一个魅力。
-
@LukeWoodward 很抱歉再次提出这个话题,但是有没有办法删除“;”之后的所有内容如果字符串包含它?例如,如果字符串的末尾包含 ';jsessionid=9vhfbkhunkvtcm5g1dtgsa--.p704',则也将其删除。所以本质上删除了除中间之外的所有内容。再次感谢瑞恩
-
select case when value like '%;%' then substr(value, 1, instr(value, ';') - 1) else value end from some_table之类的东西应该可以。酌情更改value和some_table。