oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也行相关的知识,希望对你有一定的参考价值。
例如:我要截取D:\AssetsManagement\resource\ehcache\test.txt 这段路径下的文件名test.txt。
求大神答疑
select substr('D:\AssetsManagement\resource\ehcache\test.txt',1+(select instr ('D:\AssetsManagement\resource\ehcache\test.txt','\',1,(select length('D:\AssetsManagement\resource\ehcache\test.txt') - length(replace('D:\AssetsManagement\resource\ehcache\test.txt','\','')) from dual)) from dual)
,length('D:\AssetsManagement\resource\ehcache\test.txt')-(select instr ('D:\AssetsManagement\resource\ehcache\test.txt','\',1,(select length('D:\AssetsManagement\resource\ehcache\test.txt') - length(replace('D:\AssetsManagement\resource\ehcache\test.txt','\','')) from dual)) from dual)
) from dual
如果前面D:\AssetsManagement\resource\ehcache\是固定的就直接replace了
select replace('D:\AssetsManagement\resource\ehcache\test.txt','D:\AssetsManagement\resource\ehcache\','') from dual 参考技术A 这个可以有。首先你得统计"\"出现的次数,我看到网上有代码,我是手机回答不好截图。意思就是将"\"替换成空。可以搜索:oracle 统计字符在字符串中出现的次数。有了斜杠出现的次数就可以用instrb函数取到最后出现的斜杠位置,再之后就用substr函数取最后斜杠至字符串结尾的字符即可。 参考技术B 用instr确定指定字符的位置,开始截取的位置就是这个位置+1,再用substr截取剩余字符。以你给的字符串为例:
SQL> select substr('D:\AssetsManagement\resource\ehcache\test.txt',instr('D:\AssetsManagement\resource\ehcache\test.txt','\',-1,1)+1) from dual;
SUBSTR('D:\ASSETSMANAGEMENT\RE
------------------------------
test.txt 参考技术C 用substr和INSTR配合使用
PHP截取指定#分割字符后面的数据
有一在线123.php网页,打开后是下面的数据(实时更新的数据)
2012-10-09 19:00:03#1349834403#06:35:58#0#0#0#-#0#0#-#0#0#0#-#1682.8#33.86#8173.66#654.75#864#1543#740.5#167.4#21.4
这是一整行数据,总共有100多个左右的#分割,每个#后面是一个数据,数据有时候为0,有时候是数字,有时候是符号-
我想要这些数据:
从第63个#开始,
第1,第2 是一组数据 实际是第63,64个#后面的数据。
第5,第6是第二组数据 实际是第67,68 #后面的数据
第35,第36是第三组数据,实际是97,98 #后面的数据
然后把第一个数据,设置为变量 U1 ,U2
第二组为O1,O2
第三组为Y1,Y2
然后创建3列4行表格,并在表格里显示出来这些数据。每组数据有个名称,例如:
更新时间 <服务器时间> <本地时间>
金牌 U1 U2
银牌 O1 O2
铜牌 Y1 Y2
需要用PHP输出,用utf8格式。
非常感谢~!!
然后取数据下标值,对应的就可以了。追问
你好,我对php网页真不懂。
请给出完整的网页代码。现在的水平,只能看成品代码一点一点学习。
谢谢
$str='2012-10-09 19:00:03#1349834403#06:35:58#0#0#0#-#0#0#-#0#0#0#-#1682.8#33.86#8173.66#654.75#864#1543#740.5#167.4#21.4';
$explode = explode('#',$str); //使用#号分拆字符串,返回数组
//你要取63,64后面的值,现在这个字符串没有那么多我就把值减小点取1,2的值,由于数组下标是从0开始所以需要取值时减一
echo 'U1=>'.$explode[0].'U2=>'.$explode[1];
//其它几个依此类推
需要加一段读 读取在线网页 ,然后获取网页数据
我不懂php编程,
我是需要成品.php网页,然后放到网站上就可以显示出来的这样。
完工有额外奖励。
谢谢
$str = @file_get_contents('文件地址') or die('文件读取失败');
$explode = explode('#',$str); //使用#号分拆字符串,返回数组
//你要取63,64后面的值,现在这个字符串没有那么多我就把值减小点取1,2的值,由于数组下标是从0开始所以需要取值时减一
echo 'U1=>'.$explode[0].'U2=>'.$explode[1];
//其它几个依此类推
以上是关于oracle怎么截取指定字符后面的字符串,或者删除指定字符前面的字符串也行的主要内容,如果未能解决你的问题,请参考以下文章