excel如何提取一个字符串中的一段字符?

excel如何提取一个字符串中的一段字符?,第1张

excel利用常用的两个函数提取字符中的特定字符串,一起看看吧

在表格处理中,有时会需要从字符串中提取特定的字符串,我们利用常用的两个函数:LEFT()和find(),就能轻松完成,下面我们一起 *** 作演示一下吧。

打开表格

将地址这一列中的字符串,提取出'区'之前的内容放入另一列中。

left(字符串,数值)这个函数,是从字符串左侧截取字符,数值表示截取的个数。left(字符串,5)表示:从字符串左侧截取5个字符。

find(“字符”,字符串,1):表示在字符串中查找"字符",第一次出现的位置,得出的结果是第几位。

find("区","东城区北二道街8号",1)得出的结果就是3。

如果是find("区","哈尔滨东城区北二道街8号",1)结果就是6。

下面我们组合公式:=LEFT(E4,FIND("区",E4,1)),表示:对E4单元格中的字符串从左侧提取FIND("区",E4,1)个字符。

提取的字符串填充在新列中。用鼠标左键拖动右下角小黑块下拉填充。

"区"之前的字符串被提取出来显示

现在我们提取复杂的字符串,从中间位置提取,我们用到mid(字符串,数值1,数值2),这个函数的意思是:从字符串第几位(数值1表示),提取几个(数值2)字符。

我们写组合公式:=MID(B4,FIND("(",B4,1)+1,FIND(")",B4,1)-(FIND("(",B4,1)+1)),(公式的含义是:从B4单元格字符串中的第几位(FIND("(",B4,1)+1),取多少位(FIND(")",B4,1)-(FIND("(",B4,1)+1)))。

公式运算结果正是我们要提取的数值。按住鼠标左键拖动,填充序列。

编号中的数值被全部提取出来。

1、创建测试表,

create table test_int(value varchar2(50))

2、插入测试数据

insert into test_int values('asdfdsf?d=123&ewv')

insert into test_int values('qwer?d=234')

insert into test_int values('asfdwe?d=234&dhewu')

insert into test_int values('adfasf?d=25&reuw')

insert into test_int values('afhkashf')

commit

3、查询表中全量数据,select t.*, rowid from test_int t

4、编写sql,获取字符串中的指定字符

select t.*,

     case

       when instr(value, 'd=') = 0 then

        null

       else

        substr(value,

               instr(value, 'd='),

               case

                 when instr(value, '&') = 0 then

                  10

                 else

                  instr(value, '&') - instr(value, 'd=')

               end)

     end a

from test_int t


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10100401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存